← Back
Editing: _win32stdio.cpython-38.pyc
U W[� � @ s� d Z ddlmZmZ ddlZddlZddlZddlmZ ddl m Z mZmZm Z mZ ddlmZmZ ddlmZ ee�G dd � d e��Zeeee �G d d� dej��ZdS )zM Windows-specific implementation of the L{twisted.internet.stdio} interface. � )�absolute_import�divisionN)�implementer)�IHalfCloseableProtocol� ITransport� IConsumer� IPushProducer�IAddress)�_pollingfile�main)�Failurec @ s e Zd ZdS )�Win32PipeAddressN)�__name__� __module__�__qualname__� r r �>/usr/lib/python3/dist-packages/twisted/internet/_win32stdio.pyr s r c @ s� e Zd ZdZdZd"dd�Zdd� Zdd� Zd d � ZdZ dd � Z dd� Zdd� Zdd� Z dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zd d!� ZdS )#� StandardIOFNc C s� |dkrddl m} tddd�D ]}t�|tj� q tj� | |� || _ t�tj �}t�tj�}t�|| j| j�| _t�|| j�| _| �| j� | �| j� | j �| � dS )z� Start talking to standard IO with the given protocol. Also, put it stdin/stdout/stderr into binary mode. Nr )�reactor� � )�twisted.internetr �range�msvcrtZsetmode�osZO_BINARYr � _PollingTimer�__init__�proto�win32apiZGetStdHandleZSTD_INPUT_HANDLEZSTD_OUTPUT_HANDLEZ_PollableReadPipe�dataReceived�readConnectionLost�stdinZ_PollableWritePipe�writeConnectionLost�stdoutZ_addPollableResourceZmakeConnection)�selfr r ZstdfdZhstdinZhstdoutr r r r s( � �zStandardIO.__init__c C s | j �|� d S �N)r r �r$ �datar r r r >