
    Vh                         d dl Z d dlZd dlmZ d dlmZmZmZ d dlm	Z	  G d dej                        Z
 G d dej                        Zy)	    N)	copyright)appinternetservice)logc                        e Zd ZdZg dgZd Zy)ServerOptionszUsage: twistd [options])nodaemonnz(for backwards compatibility).c                     t        dt        j                   | j                         t        t        j                  | j                         t	        j
                          y)z5
        Print version information and exit.
        z$twistd (the Twisted Windows runner) )fileN)printr   versionstdoutsysexitselfs    G/home/dcms/DCMS/lib/python3.12/site-packages/twisted/scripts/_twistw.pyopt_versionzServerOptions.opt_version   sC     	293D3D2EF	
 	i!!4
    N)__name__
__module____qualname__synopsisoptFlagsr    r   r   r	   r	      s    (H 	<H	r   r	   c                       e Zd ZdZd Zd Zy)WindowsApplicationRunnerzn
    An ApplicationRunner which avoids unix-specific things. No
    forking, no PID files, no privileges.
    c                     t         j                  | _        t         j                  | _        t        j                  | j                  d          y)z4
        Do pre-application-creation setup.
        rundirN)r   r   	oldstdoutstderr	oldstderroschdirconfigr   s    r   preApplicationz'WindowsApplicationRunner.preApplication'   s/     
X&'r   c                    t        j                  | j                        j                          t	        j
                  | j                  | j                  d           t	        j
                  t        j                  dd       d       | j                  d| j                  | j                         t        j                  d       y)z<
        Start the application and run the reactor.
        no_saveg?c                       y )Nr   r   r   r   <lambda>z:WindowsApplicationRunner.postApplication.<locals>.<lambda>5   s    r   r   NzServer Shut Down.)r   IServiceapplicationprivilegedStartServicer   startApplicationr'   r   TimerServicestartReactorr"   r$   r   msgr   s    r   postApplicationz(WindowsApplicationRunner.postApplication/   s     	))*AACT--4;;y3I/IJX223EqI$?#$r   N)r   r   r   __doc__r(   r4   r   r   r   r   r   !   s    
(%r   r   )r%   r   twistedr   twisted.applicationr   r   r   twisted.pythonr   r	   ApplicationRunnerr   r   r   r   <module>r:      s=    
 
  6 6 C%% &%s44 %r   