o b8 @sdZddlZddlmZddlmZzeeds!ddlZedWn e e fy-Ynwddl Z ee dr;e Gdd d ej ZGd d d ejZdd dZdddZejdkraeZneZdgZdS)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)runtimefrozenz2.0 threads_initc@sHeZdZdZejejBejBZej Z ej Z e eBZ e eBZdddZdS) Gtk2Reactorz& PyGTK+ 2 event loop reactor. TcC,d}|dur ddl}tjj|t||ddSNTr)useGtk)gtkrGlibReactorBase__init__gobjectselfr _gtkr>/usr/lib/python3/dist-packages/twisted/internet/gtk2reactor.pyr FzGtk2Reactor.__init__NT)__name__ __module__ __qualname____doc__r IO_HUPIO_ERRIO_NVAL_POLL_DISCONNECTEDIO_IN_POLL_INIO_OUT _POLL_OUTINFLAGSOUTFLAGSr rrrrr7src@seZdZdZdddZdS)PortableGtkReactorzd Reactor that works on Windows. Sockets aren't supported by GTK+'s input_add on Win32. TcCrr)r rPortableGlibReactorBaser r rrrrr UrzPortableGtkReactor.__init__Nr)rrrrr rrrrr#Nsr#TcCs 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). rinstallReactor)rtwisted.internet.mainr&r reactorr&rrrinstall]s r*cCst}ddlm}|||S)zK Configure the twisted mainloop to be run inside the gtk mainloop. rr%)r#r'r&r(rrrportableInstallks r+posixr)rsystwisted.internetrtwisted.pythonrhasattrpygtkrequire ImportErrorAttributeErrorr rr rr$r#r*r+platformgetType__all__rrrrs.