�
毖Sc@s)dZddlmZdZdZddlmZdd lmZm Z m
Z
mZmZm
Z
mZmZmZmZmZmZdd
lmZddlmZddlmZer�dd
lmZndefd��YZdefd��YZdefd��YZdefd��YZdS(s9Implementation for dbus.Bus. Not to be imported directly.i����(t
generatorstBust SystemBust
SessionBust
StarterBustreStructuredText(t
DBusException(tBUS_DAEMON_IFACEtBUS_DAEMON_NAMEtBUS_DAEMON_PATHtBUS_SESSIONtBUS_STARTERt
BUS_SYSTEMt DBUS_START_REPLY_ALREADY_RUNNINGtDBUS_START_REPLY_SUCCESStvalidate_bus_nametvalidate_interface_nametvalidate_member_nametvalidate_object_path(t
BusConnection(t
SignalMessage(tis_py2(t
UTF8StringcBs�eZdZiZejed d�Zd�Z d�Z
ee
d d d�Zed�Z
ee
�Z
ed�Zee�Zed�Zee�Zd�ZeZRS(
s A connection to one of three possible standard buses, the SESSION,
SYSTEM, or STARTER bus. This class manages shared connections to those
buses.
If you're trying to subclass `Bus`, you may be better off subclassing
`BusConnection`, which doesn't have all this magic.
cCs�|r!||jkr!|j|S|tkr6t}n:|tkrKt}n%|tkr`t}ntd|��tj ||d|�}||_
|s�||j|<n|S(s�Constructor, returning an existing instance where appropriate.
The returned instance is actually always an instance of `SessionBus`,
`SystemBus` or `StarterBus`.
:Parameters:
`bus_type` : cls.TYPE_SESSION, cls.TYPE_SYSTEM or cls.TYPE_STARTER
Connect to the appropriate bus
`private` : bool
If true, never return an existing shared instance, but instead
return a private connection.
:Deprecated: since 0.82.3. Use dbus.bus.BusConnection for
private connections.
`mainloop` : dbus.mainloop.NativeMainLoop
The main loop to use. The default is to use the default
main loop if one has been set up, or raise an exception
if none has been.
:Changed: in dbus-python 0.80:
converted from a wrapper around a Connection to a Connection
subclass.
sinvalid bus_type %stmainloop(t_shared_instancesR
RRRRRt
ValueErrorRt__new__t _bus_type(tclstbus_typetprivateRtsubclasstbus((s0/usr/lib64/python2.7/site-packages/dbus/_dbus.pyR:s cCsK|j}|jjj|�|kr4|jj|=ntt|�j�dS(N(Rt __class__RtgettsuperRtclose(tselftt((s0/usr/lib64/python2.7/site-packages/dbus/_dbus.pyR$ms cCs|S(s�Return self, for backwards compatibility with earlier dbus-python
versions where Bus was not a subclass of Connection.
:Deprecated: since 0.80.0
((R%((s0/usr/lib64/python2.7/site-packages/dbus/_dbus.pytget_connectionsss�self._connection == self, for backwards
compatibility with earlier dbus-python versions
where Bus was not a subclass of Connection.cCs
td|�S(s�Static method that returns a connection to the session bus.
:Parameters:
`private` : bool
If true, do not return a shared connection.
R(R(R((s0/usr/lib64/python2.7/site-packages/dbus/_dbus.pytget_sessionscCs
td|�S(s�Static method that returns a connection to the system bus.
:Parameters:
`private` : bool
If true, do not return a shared connection.
R(R(R((s0/usr/lib64/python2.7/site-packages/dbus/_dbus.pyt
get_system�scCs
td|�S(s�Static method that returns a connection to the starter bus.
:Parameters:
`private` : bool
If true, do not return a shared connection.
R(R(R((s0/usr/lib64/python2.7/site-packages/dbus/_dbus.pytget_starter�scCst|jtkrd}n6|jtkr0d}n|jtkrHd}nd}d|jj|jj|t|�fS(Ntsessiontsystemtstartersunknown bus types<%s.%s (%s) at %#x>(RR
RRR!t
__module__t__name__tid(R%tname((s0/usr/lib64/python2.7/site-packages/dbus/_dbus.pyt__repr__�s N(R/R.t__doc__RRtTYPE_SESSIONtFalsetNoneRR$R'tpropertyt_connectionR(tstaticmethodR)R*R2t__str__(((s0/usr/lib64/python2.7/site-packages/dbus/_dbus.pyR/s 2
cBseZdZedd�ZRS(sThe system-wide message bus.cCstj|tjd|d|�S(s�Return a connection to the system bus.
:Parameters:
`private` : bool
If true, never return an existing shared instance, but instead
return a private connection.
`mainloop` : dbus.mainloop.NativeMainLoop
The main loop to use. The default is to use the default
main loop if one has been set up, or raise an exception
if none has been.
RR(RRtTYPE_SYSTEM(RRR((s0/usr/lib64/python2.7/site-packages/dbus/_dbus.pyR�sN(R/R.R3R5R6R(((s0/usr/lib64/python2.7/site-packages/dbus/_dbus.pyR�scBseZdZedd�ZRS(s(The session (current login) message bus.cCstj|tjd|d|�S(s�Return a connection to the session bus.
:Parameters:
`private` : bool
If true, never return an existing shared instance, but instead
return a private connection.
`mainloop` : dbus.mainloop.NativeMainLoop
The main loop to use. The default is to use the default
main loop if one has been set up, or raise an exception
if none has been.
RR(RRR4(RRR((s0/usr/lib64/python2.7/site-packages/dbus/_dbus.pyR�sN(R/R.R3R5R6R(((s0/usr/lib64/python2.7/site-packages/dbus/_dbus.pyR�scBseZdZedd�ZRS(sjThe bus that activated this process (only valid if
this process was launched by DBus activation).
cCstj|tjd|d|�S(s�Return a connection to the bus that activated this process.
:Parameters:
`private` : bool
If true, never return an existing shared instance, but instead
return a private connection.
`mainloop` : dbus.mainloop.NativeMainLoop
The main loop to use. The default is to use the default
main loop if one has been set up, or raise an exception
if none has been.
RR(RRtTYPE_STARTER(RRR((s0/usr/lib64/python2.7/site-packages/dbus/_dbus.pyR�sN(R/R.R3R5R6R(((s0/usr/lib64/python2.7/site-packages/dbus/_dbus.pyR�sN(sBuss SystemBuss
SessionBuss
StarterBus(R3t
__future__Rt__all__t
__docformat__tdbus.exceptionsRt_dbus_bindingsRRR R
RRR
RRRRRtdbus.busRt
dbus.lowlevelRtdbus._compatRRRRRR(((s0/usr/lib64/python2.7/site-packages/dbus/_dbus.pyt<module>sR� |