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 )ExportedGObjectTypezA 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    
	