
    Id	                     R    d Z ddlZ G d de      Z G d de      Z G d de      Zy)	zGFunctions for setting up a Samba configuration (LDB and LDAP backends).    Nc                       e Zd Zd Zy)BackendResultc                 ,    t        | j                        )z5Rerport this result to a particular logger.

        )NotImplementedErrorreport_logger)selfloggers     9/usr/lib/python3/dist-packages/samba/provision/backend.pyr   zBackendResult.report_logger    s     "$"4"455    N)__name__
__module____qualname__r    r   r
   r   r      s    6r   r   c                   0    e Zd Z	 	 ddZd Zd Zd Zd Zy)ProvisionBackendNc                 J    || _         || _        || _        || _        d| _        y)zProvision a backend for samba4ldbN)pathslpnamesr	   type)r   r   r   r   r	   s        r
   __init__zProvisionBackend.__init__)   s'     

	r   c                 ,    t        | j                        )zInitialize the backend.)r   initr   s    r
   r   zProvisionBackend.init3   s    !$)),,r   c                 ,    t        | j                        )zStart the backend.)r   startr   s    r
   r   zProvisionBackend.start7   s    !$**--r   c                 ,    t        | j                        )zShutdown the backend.)r   shutdownr   s    r
   r   zProvisionBackend.shutdown;   s    !$--00r   c                 ,    t        | j                        )z>Post setup.

        :return: A BackendResult or None
        )r   
post_setupr   s    r
   r!   zProvisionBackend.post_setup?   s    
 "$//22r   )NNNN)r   r   r   r   r   r   r   r!   r   r   r
   r   r   '   s!    &*$(-.13r   r   c                   $    e Zd Zd Zd Zd Zd Zy)
LDBBackendc                 ^    t        j                  | j                  j                  dz   d       y )Nz.dT)shutilrmtreer   samdbr   s    r
   r   zLDBBackend.initI   s!     	djj&&-t4r   c                      y Nr   r   s    r
   r   zLDBBackend.startN       r   c                      y r)   r   r   s    r
   r   zLDBBackend.shutdownQ   r*   r   c                      y r)   r   r   s    r
   r!   zLDBBackend.post_setupT   r*   r   N)r   r   r   r   r   r   r!   r   r   r
   r#   r#   G   s    5
r   r#   )__doc__r%   objectr   r   r#   r   r   r
   <module>r/      s4   4 N 6F 63v 3@! r   