File: //usr/lib/python3/dist-packages/twisted/internet/__pycache__/gtk2reactor.cpython-310.pyc
o
�b8 � @ s� d Z ddlZddlmZ ddlmZ zeed�s!ddlZe�d� W n e e
fy- Y nw ddlZeed�r;e�� G dd � d ej
�ZG d
d� dej�Zdd
d�Zddd�Zej�� dkraeZneZdgZdS )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 �, d }|du r
dd l }tjj| t||d� d S �NTr )�useGtk)�gtkr �GlibReactorBase�__init__�gobject��selfr �_gtk� r �>/usr/lib/python3/dist-packages/twisted/internet/gtk2reactor.pyr F � zGtk2Reactor.__init__N�T)�__name__�
__module__�__qualname__�__doc__r
�IO_HUP�IO_ERR�IO_NVAL�_POLL_DISCONNECTED�IO_IN�_POLL_IN�IO_OUT� _POLL_OUT�INFLAGS�OUTFLAGSr r r r r r 7 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 r r )r
r �PortableGlibReactorBaser r
r r r r r U r zPortableGtkReactor.__init__Nr )r r r r r r r r r r# N 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&