o
    øT·jK  ã                   @  sd   d dl mZ d dlmZ d dlmZ d dlmZ ddlm	Z	 er(ddl
mZmZ G dd	„ d	e	ƒZd
S )é    )Úannotations)Úabstractmethod)ÚSignals)ÚTYPE_CHECKINGé   )ÚAsyncResource)ÚByteReceiveStreamÚByteSendStreamc                   @  s¢   e Zd ZdZeddd„ƒZeddd„ƒZedd	d
„ƒZeddd„ƒZe	eddd„ƒƒZ
e	ed dd„ƒƒZe	ed!dd„ƒƒZe	ed"dd„ƒƒZe	ed"dd„ƒƒZdS )#ÚProcessz5An asynchronous version of :class:`subprocess.Popen`.ÚreturnÚintc                 Ã  s   �dS )z^
        Wait until the process exits.

        :return: the exit code of the process
        N© ©Úselfr   r   úZ/home/dinkstrade/pdmp-scanner/venv/lib/python3.10/site-packages/anyio/abc/_subprocesses.pyÚwait   s    zProcess.waitÚNonec                 C  ó   dS )zó
        Terminates the process, gracefully if possible.

        On Windows, this calls ``TerminateProcess()``.
        On POSIX systems, this sends ``SIGTERM`` to the process.

        .. seealso:: :meth:`subprocess.Popen.terminate`
        Nr   r   r   r   r   Ú	terminate   ó    zProcess.terminatec                 C  r   )zÑ
        Kills the process.

        On Windows, this calls ``TerminateProcess()``.
        On POSIX systems, this sends ``SIGKILL`` to the process.

        .. seealso:: :meth:`subprocess.Popen.kill`
        Nr   r   r   r   r   Úkill#   r   zProcess.killÚsignalr   c                 C  r   )z´
        Send a signal to the subprocess.

        .. seealso:: :meth:`subprocess.Popen.send_signal`

        :param signal: the signal number (e.g. :data:`signal.SIGHUP`)
        Nr   )r   r   r   r   r   Úsend_signal.   r   zProcess.send_signalc                 C  r   )zThe process ID of the process.Nr   r   r   r   r   Úpid8   r   zProcess.pidú
int | Nonec                 C  r   )zw
        The return code of the process. If the process has not yet terminated, this will
        be ``None``.
        Nr   r   r   r   r   Ú
returncode=   r   zProcess.returncodeúByteSendStream | Nonec                 C  r   )z1The stream for the standard input of the process.Nr   r   r   r   r   ÚstdinE   r   zProcess.stdinúByteReceiveStream | Nonec                 C  r   )z2The stream for the standard output of the process.Nr   r   r   r   r   ÚstdoutJ   r   zProcess.stdoutc                 C  r   )z8The stream for the standard error output of the process.Nr   r   r   r   r   ÚstderrO   r   zProcess.stderrN)r   r   )r   r   )r   r   r   r   )r   r   )r   r   )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   Úpropertyr   r   r   r   r    r   r   r   r   r
      s2    

	r
   N)Ú
__future__r   Úabcr   r   r   Útypingr   Ú
_resourcesr   Ú_streamsr   r	   r
   r   r   r   r   Ú<module>   s    