o
    ñt3b½  ã                   @   sf   d Z dgZddlmZ ddlZG dd„ dejjejjƒZ	ddd„Z
d	Ze	dejejjfe
ed
œƒZdS )z6Support code for implementing D-Bus services via PyGI.ÚExportedGObjecté    )ÚGObjectNc                   @   s   e Zd ZdZdd„ ZdS )ÚExportedGObjectTypezˆA metaclass which inherits from both GObjectMeta and
    `dbus.service.InterfaceType`. Used as the metaclass for `ExportedGObject`.
    c                 C   s,   t j j | |||¡ tjj | |||¡ d S )N)r   Ú	__class__Ú__init__ÚdbusÚserviceÚInterfaceType)ÚclsÚnameÚbasesZdct© r   ú1/usr/lib/python3/dist-packages/dbus/gi_service.pyr   .   s   zExportedGObjectType.__init__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   *   s    r   c                 K   sX   |  dd¡}|  dd¡}|dur| |¡ tjj| fi |¤Ž tjjj| |||d� dS )a:  Initialize an exported GObject.

    :Parameters:
        `conn` : dbus.connection.Connection
            The D-Bus connection or bus
        `object_path` : str
            The object path at which to register this object.
    :Keywords:
        `bus_name` : dbus.service.BusName
            A bus name to be held on behalf of this object, or None.
        `gobject_properties` : dict
            GObject properties to be set on the constructed object.

            Any unrecognised keyword arguments will also be interpreted
            as GObject properties.
        Úbus_nameNÚgobject_properties)ÚconnÚobject_pathr   )ÚpopÚupdater   r   r   r   ÚObject)Úselfr   r   Úkwargsr   r   r   r   r   ÚExportedGObject__init__3   s   

þr   z'
A GObject which is exported on D-Bus.
)r   r   )NN)r   Ú__all__Zgi.repositoryr   Zdbus.servicer   r   r   r	   r   r   ZExportedGObject__doc__r   r   r   r   r   r   Ú<module>   s    
	ÿý