a
    œcl_	  ã                   @   s@   d Z ddlZG dd„ deƒZG dd„ deƒZG dd„ deƒZdS )	zGFunctions for setting up a Samba configuration (LDB and LDAP backends).é    Nc                   @   s   e Zd Zdd„ ZdS )ÚBackendResultc                 C   s   t | jƒ‚dS )z5Rerport this result to a particular logger.

        N)ÚNotImplementedErrorÚreport_logger)ÚselfÚlogger© r   ú9/usr/lib/python3/dist-packages/samba/provision/backend.pyr       s    zBackendResult.report_loggerN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s   r   c                   @   s6   e Zd Zddd„Zdd„ Zdd„ Zdd	„ Zd
d„ ZdS )ÚProvisionBackendNc                 C   s"   || _ || _|| _|| _d| _dS )zProvision a backend for samba4ZldbN)ÚpathsÚlpÚnamesr   Útype)r   r   r   r   r   r   r   r   Ú__init__)   s
    zProvisionBackend.__init__c                 C   s   t | jƒ‚dS )zInitialize the backend.N)r   Úinit©r   r   r   r   r   3   s    zProvisionBackend.initc                 C   s   t | jƒ‚dS )zStart the backend.N)r   Ústartr   r   r   r   r   7   s    zProvisionBackend.startc                 C   s   t | jƒ‚dS )zShutdown the backend.N)r   Úshutdownr   r   r   r   r   ;   s    zProvisionBackend.shutdownc                 C   s   t | jƒ‚dS )z>Post setup.

        :return: A BackendResult or None
        N)r   Ú
post_setupr   r   r   r   r   ?   s    zProvisionBackend.post_setup)NNNN)r	   r
   r   r   r   r   r   r   r   r   r   r   r   '   s     ÿ

r   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
Ú
LDBBackendc                 C   s   t  | jjd d¡ d S )Nz.dT)ÚshutilZrmtreer   Zsamdbr   r   r   r   r   I   s    zLDBBackend.initc                 C   s   d S ©Nr   r   r   r   r   r   N   s    zLDBBackend.startc                 C   s   d S r   r   r   r   r   r   r   Q   s    zLDBBackend.shutdownc                 C   s   d S r   r   r   r   r   r   r   T   s    zLDBBackend.post_setupN)r	   r
   r   r   r   r   r   r   r   r   r   r   G   s   r   )Ú__doc__r   Úobjectr   r   r   r   r   r   r   Ú<module>   s   	 