3 iR�V�@s4dZdZddlmZddlmZGdd�de�ZdS)�ServerZreStructuredText�)�_Server)� ConnectioncsfeZdZdZeddf�fdd� Zdd�Zdd�Zd d �Zd d �Z e e j �Z e e j�Ze e j�Z�ZS) ra%An opaque object representing a server that listens for connections from other applications. This class is not useful to instantiate directly: you must subclass it and either extend the method connection_added, or append to the list on_connection_added. :Since: 0.83 Ncstt|�j|||||�S)a�Construct a new Server. :Parameters: `address` : str Listen on this address. `connection_class` : type When new connections come in, instantiate this subclass of dbus.connection.Connection to represent them. The default is Connection. `mainloop` : dbus.mainloop.NativeMainLoop or None The main loop with which to associate the new connections. `auth_mechanisms` : sequence of str Authentication mechanisms to allow. The default is to allow any authentication mechanism supported by ``libdbus``. )�superr�__new__)�cls�addressZconnection_classZmainloopZauth_mechanisms)� __class__��/usr/lib64/python3.6/server.pyr)szServer.__new__cOsi|_g|_g|_dS)N)Z_Server__connections�on_connection_added�on_connection_removed)�self�args�kwargsr r r �__init__=szServer.__init__cCs|j|j�|j|�dS)N)Zcall_on_disconnection�connection_removed�connection_added)r�connr r r �_on_new_connectionLs zServer._on_new_connectioncCs"|jrx|jD] }||�qWdS)a�Respond to the creation of a new Connection. This base-class implementation just invokes the callbacks in the on_connection_added attribute. :Parameters: `conn` : dbus.connection.Connection A D-Bus connection which has just been added. The type of this parameter is whatever was passed to the Server constructor as the ``connection_class``. N)r )rr�cbr r r rPs  zServer.connection_addedcCs"|jrx|jD] }||�qWdS)a�Respond to the disconnection of a Connection. This base-class implementation just invokes the callbacks in the on_connection_removed attribute. :Parameters: `conn` : dbus.connection.Connection A D-Bus connection which has just become disconnected. The type of this parameter is whatever was passed to the Server constructor as the ``connection_class``. N)r )rrrr r r ras  zServer.connection_removed)�__name__� __module__� __qualname__�__doc__rrrrrr�propertyrZ get_addressrZget_id�idZget_is_connectedZ is_connected� __classcell__r r )r r rs   N)r)�__all__Z __docformat__Z_dbus_bindingsrZdbus.connectionrrr r r r �s