Your IP : 216.73.216.218
3
iR�Vd"�@s�dZddlmZdZdZddlmZdd lmZm Z m
Z
mZmZm
Z
mZmZmZmZmZmZdd
lmZddlmZddlmZer�dd
lmZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZdS)z9Implementation for dbus.Bus. Not to be imported directly.�)�
generators�Bus� SystemBus�
SessionBus�
StarterBusZreStructuredText)�
DBusException)�BUS_DAEMON_IFACE�BUS_DAEMON_NAME�BUS_DAEMON_PATH�BUS_SESSION�BUS_STARTER�
BUS_SYSTEM� DBUS_START_REPLY_ALREADY_RUNNING�DBUS_START_REPLY_SUCCESS�validate_bus_name�validate_interface_name�validate_member_name�validate_object_path)�
BusConnection)�
SignalMessage)�is_py2)�
UTF8Stringcs�eZdZdZiZejddfdd�Z�fdd�Zdd �Z e
e ddd
�Zddd�Ze
e�Zdd
d�Ze
e�Zddd�Ze
e�Zdd�ZeZ�ZS)ra 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.
FNcCsx|r||jkr|j|S|tkr(t}n(|tkr6t}n|tkrDt}ntd|��tj |||d�}||_
|st||j|<|S)a�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.
zinvalid bus_type %s)�mainloop)�_shared_instancesrrr
rrr�
ValueErrorr�__new__� _bus_type)�clsZbus_type�privater�subclassZbus�r �/usr/lib64/python3.6/_dbus.pyr:s
zBus.__new__cs4|j}|jjj|�|kr"|jj|=tt|�j�dS)N)r� __class__r�get�superr�close)�self�t)r"r r!r%ms
z Bus.closecCs|S)z�Return self, for backwards compatibility with earlier dbus-python
versions where Bus was not a subclass of Connection.
:Deprecated: since 0.80.0
r )r&r r r!�get_connectionsszBus.get_connectionz�self._connection == self, for backwards
compatibility with earlier dbus-python versions
where Bus was not a subclass of Connection.cCs
t|d�S)z�Static method that returns a connection to the session bus.
:Parameters:
`private` : bool
If true, do not return a shared connection.
)r)r)rr r r!�get_sessionszBus.get_sessioncCs
t|d�S)z�Static method that returns a connection to the system bus.
:Parameters:
`private` : bool
If true, do not return a shared connection.
)r)r)rr r r!�
get_system�szBus.get_systemcCs
t|d�S)z�Static method that returns a connection to the starter bus.
:Parameters:
`private` : bool
If true, do not return a shared connection.
)r)r)rr r r!�get_starter�szBus.get_startercCsP|jtkrd}n$|jtkr d}n|jtkr0d}nd}d|jj|jj|t|�fS)NZsession�systemZstarterzunknown bus typez<%s.%s (%s) at %#x>)rrr
rr"�
__module__�__name__�id)r&�namer r r!�__repr__�s
zBus.__repr__)F)F)F)r.r-�__qualname__�__doc__rr�TYPE_SESSIONrr%r(�propertyZ_connectionr)�staticmethodr*r+r1�__str__�
__classcell__r r )r"r!r/s 2
c@seZdZdZddd�ZdS)rzThe system-wide message bus.FNcCstj|tj||d�S)a�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)rrZTYPE_SYSTEM)rrrr r r!r�szSystemBus.__new__)FN)r.r-r2r3rr r r r!r�sc@seZdZdZddd�ZdS)rz(The session (current login) message bus.FNcCstj|tj||d�S)a�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)rrrr r r!r�szSessionBus.__new__)FN)r.r-r2r3rr r r r!r�sc@seZdZdZddd�ZdS)rzjThe bus that activated this process (only valid if
this process was launched by DBus activation).
FNcCstj|tj||d�S)a�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)rrZTYPE_STARTER)rrrr r r!r�szStarterBus.__new__)FN)r.r-r2r3rr r r r!r�sN)rrrr)r3Z
__future__r�__all__Z
__docformat__Zdbus.exceptionsrZ_dbus_bindingsrr r
rrr
rrrrrrZdbus.busrZ
dbus.lowlevelrZdbus._compatrrrrrrr r r r!�<module>s8
?>