File: //lib64/python3.6/site-packages/dbus/__pycache__/server.cpython-36.pyc
3
iR�V  �               @   s4   dZ dZddlmZ ddlmZ G dd � d e�ZdS )�ServerZreStructuredText�    )�_Server)�
Connectionc                   sf   e Zd ZdZeddf� fdd�	Zdd� Zdd� Zd	d
� Zdd� Z	e
ej�Z
e
ej�Ze
ej�Z�  ZS )
r   a%  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
    Nc                s   t t| �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   )   s    zServer.__new__c             O   s   i | _ g | _g | _d S )N)Z_Server__connections�on_connection_added�on_connection_removed)�self�args�kwargsr
   r
   r   �__init__=   s    zServer.__init__c             C   s   |j | j� | j|� d S )N)Zcall_on_disconnection�connection_removed�connection_added)r   �connr
   r
   r   �_on_new_connectionL   s    zServer._on_new_connectionc             C   s"