File: //usr/lib/python3/dist-packages/twisted/internet/__pycache__/gtk2reactor.cpython-38.pyc
U
W[ � @ s� d Z ddlZddlmZ ddlmZ z eed�sBddlZe�d� W n e e
fk
r\ Y nX ddlZeed�rxe�� G dd � d ej
�ZG d
d� dej�Zdd
d�Zddd�Zej�� dkr�eZneZdgZdS )a>
This module provides support for Twisted to interact with the glib/gtk2
mainloop.
In order to use this support, simply do the following::
from twisted.internet import gtk2reactor
gtk2reactor.install()
Then use twisted.internet APIs as usual. The other methods here are not
intended to be called directly.
� N)� _glibbase)�runtime�frozenz2.0�threads_initc @ sH e Zd ZdZejejB ejB Zej Z
ejZe
eB Z
eeB Zddd�ZdS )�Gtk2Reactorz&
PyGTK+ 2 event loop reactor.
Tc C s, d }|dkrdd l }tjj| t||d� d S �NTr )�useGtk)�gtkr �GlibReactorBase�__init__�gobject��selfr Z_gtk� r �>/usr/lib/python3/dist-packages/twisted/internet/gtk2reactor.pyr D s zGtk2Reactor.__init__N)T)�__name__�
__module__�__qualname__�__doc__r ZIO_HUPZIO_ERRZIO_NVALZ_POLL_DISCONNECTEDZIO_INZ_POLL_INZIO_OUTZ _POLL_OUTZINFLAGSZOUTFLAGSr r r r r r 6 s r c @ s e Zd ZdZddd�ZdS )�PortableGtkReactorzd
Reactor that works on Windows.
Sockets aren't supported by GTK+'s input_add on Win32.
Tc C s, d }|dkrdd l }tjj| t||d� d S r )r r �PortableGlibReactorBaser r r
r r r r S s �zPortableGtkReactor.__init__N)T)r r r r r r r r r r M s r Tc C s t | �}ddlm} ||� |S )z�
Configure the twisted mainloop to be run inside the gtk mainloop.
@param useGtk: should glib rather than GTK+ event loop be
used (this will be slightly faster but does not support GUI).
r ��installReactor)r �twisted.internet.mainr �r Zreactorr r r r �install\ s r c C s t � }ddlm} ||� |S )zK
Configure the twisted mainloop to be run inside the gtk mainloop.
r r )r r r r r r r �portableInstalli s r �posix)T)T)r �sysZtwisted.internetr Ztwisted.pythonr �hasattrZpygtkZrequire�ImportError�AttributeErrorr r r
r r r r r �platformZgetType�__all__r r r r �<module> s(