ó 毖Sc@sŔdZddlZddlmZeedƒeddƒdejkr]ddlmZ n ddl Z ddl Z d e jj e j jfd „ƒYZd e je j jfd „ƒYZdS( s:Support code for implementing D-Bus services via GObjects.i˙˙˙˙N(twarnsŕdbus.gobject_service is deprecated, and is not available under Python 3. Porting from gobject (PyGObject 2) to gi.repository.GObject (PyGObject 3), and using dbus.gi_service instead of dbus.gobject_service, is recommended. t stacklevelitgi(tGObjecttExportedGObjectTypecBseZdZd„ZRS(sˆA metaclass which inherits from both GObjectMeta and `dbus.service.InterfaceType`. Used as the metaclass for `ExportedGObject`. cCs<tjjj||||ƒtjjj||||ƒdS(N(tgobjectRt __class__t__init__tdbustservicet InterfaceType(tclstnametbasestdct((s:/usr/lib64/python2.7/site-packages/dbus/gobject_service.pyR/s(t__name__t __module__t__doc__R(((s:/usr/lib64/python2.7/site-packages/dbus/gobject_service.pyR+stExportedGObjectcBs#eZdZeZddd„ZRS(s.A GObject which is exported on the D-Bus. Because GObject and `dbus.service.Object` both have custom metaclasses, the naive approach using simple multiple inheritance won't work. This class has `ExportedGObjectType` as its metaclass, which is sufficient to make it work correctly. cKs||jddƒ}|jddƒ}|dk r@|j|ƒntjj||tjjj|d|d|d|ƒdS(snInitialize 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. tbus_nametgobject_propertiestconnt object_pathN( tpoptNonetupdateRRRRR tObject(tselfRRtkwargsRR((s:/usr/lib64/python2.7/site-packages/dbus/gobject_service.pyR=s N(RRRRt __metaclass__RR(((s:/usr/lib64/python2.7/site-packages/dbus/gobject_service.pyR3s(RtsystwarningsRt_warntDeprecationWarningtmodulest gi.repositoryRRt dbus.serviceRRR R RRR(((s:/usr/lib64/python2.7/site-packages/dbus/gobject_service.pyts   %