<class name="QAbstractEventDispatcher" doc="/**
&lt;p&gt;The &lt;a href=&quot;QAbstractEventDispatcher.html#QAbstractEventDispatcher(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QAbstractEventDispatcher&lt;/tt&gt;&lt;/a&gt; class provides an interface to manage Qt's event queue.&lt;/p&gt;
&lt;p&gt;An event dispatcher receives events from the window system and other sources. It then sends them to the &lt;a href=&quot;QCoreApplication.html&quot;&gt;&lt;tt&gt;QCoreApplication&lt;/tt&gt;&lt;/a&gt; or &lt;a href=&quot;%2E%2E/gui/QApplication.html&quot;&gt;&lt;tt&gt;QApplication&lt;/tt&gt;&lt;/a&gt; instance for processing and delivery. &lt;a href=&quot;QAbstractEventDispatcher.html#QAbstractEventDispatcher(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QAbstractEventDispatcher&lt;/tt&gt;&lt;/a&gt; provides fine-grained control over event delivery.&lt;/p&gt;
&lt;p&gt;For simple control of event processing use QCoreApplication::processEvents().&lt;/p&gt;
&lt;p&gt;For finer control of the application's event loop, call &lt;a href=&quot;QAbstractEventDispatcher.html#instance(java.lang.Thread)&quot;&gt;&lt;tt&gt;instance&lt;/tt&gt;&lt;/a&gt; and call functions on the &lt;a href=&quot;QAbstractEventDispatcher.html#QAbstractEventDispatcher(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QAbstractEventDispatcher&lt;/tt&gt;&lt;/a&gt; object that is returned. If you want to use your own instance of &lt;a href=&quot;QAbstractEventDispatcher.html#QAbstractEventDispatcher(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QAbstractEventDispatcher&lt;/tt&gt;&lt;/a&gt; or of a &lt;a href=&quot;QAbstractEventDispatcher.html#QAbstractEventDispatcher(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QAbstractEventDispatcher&lt;/tt&gt;&lt;/a&gt; subclass, you must create your instance &lt;i&gt;before&lt;/i&gt; you create the &lt;a href=&quot;%2E%2E/gui/QApplication.html&quot;&gt;&lt;tt&gt;QApplication&lt;/tt&gt;&lt;/a&gt; object.&lt;/p&gt;
&lt;p&gt;The main event loop is started by calling QCoreApplication::exec(), and stopped by calling QCoreApplication::exit(). Local event loops can be created using &lt;a href=&quot;QEventLoop.html&quot;&gt;&lt;tt&gt;QEventLoop&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Programs that perform long operations can call &lt;a href=&quot;QAbstractEventDispatcher.html#processEvents(com.trolltech.qt.core.QEventLoop.ProcessEventsFlags)&quot;&gt;&lt;tt&gt;processEvents&lt;/tt&gt;&lt;/a&gt; with a bitwise OR combination of various QEventLoop::ProcessEventsFlag values to control which events should be delivered.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;QAbstractEventDispatcher.html#QAbstractEventDispatcher(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QAbstractEventDispatcher&lt;/tt&gt;&lt;/a&gt; also allows the integration of an external event loop with the Qt event loop. For example, the Motif Extension Qt Solution&lt;/tt&gt; includes a reimplementation of &lt;a href=&quot;QAbstractEventDispatcher.html#QAbstractEventDispatcher(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QAbstractEventDispatcher&lt;/tt&gt;&lt;/a&gt; that merges Qt and Motif events together.&lt;/p&gt;

@see &lt;a href=&quot;QEventLoop.html&quot;&gt;&lt;tt&gt;QEventLoop&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QCoreApplication.html&quot;&gt;&lt;tt&gt;QCoreApplication&lt;/tt&gt;&lt;/a&gt; */">
    <signal name="protected final void aboutToBlock()" doc="/**
&lt;p&gt;This signal is emitted before the event loop calls a function that could block.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;Compatible Slot Signature:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot()&lt;/tt&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&quot;QAbstractEventDispatcher.html#awake()&quot;&gt;&lt;tt&gt;awake&lt;/tt&gt;&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
 */"/>
    <signal name="protected final void awake()" doc="/**
&lt;p&gt;This signal is emitted after the event loop returns from a function that could block.&lt;/p&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;Compatible Slot Signature:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;tt&gt;void mySlot()&lt;/tt&gt;&lt;/dd&gt;
&lt;/dl&gt;
&lt;dl&gt;
&lt;dt&gt;&lt;b&gt;See Also:&lt;/b&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;a href=&quot;QAbstractEventDispatcher.html#wakeUp()&quot;&gt;&lt;tt&gt;wakeUp&lt;/tt&gt;&lt;/a&gt;, &lt;a href=&quot;QAbstractEventDispatcher.html#aboutToBlock()&quot;&gt;&lt;tt&gt;aboutToBlock&lt;/tt&gt;&lt;/a&gt;&lt;/dd&gt;
&lt;/dl&gt;
 */"/>
    <method name="public QAbstractEventDispatcher(com.trolltech.qt.core.QObject parent)" doc="/**
&lt;p&gt;Constructs a new event dispatcher with the given &lt;tt&gt;parent&lt;/tt&gt;.&lt;/p&gt;
 */"/>
    <method name="public QAbstractEventDispatcher()" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QAbstractEventDispatcher.html#QAbstractEventDispatcher(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QAbstractEventDispatcher&lt;/tt&gt;&lt;/a&gt;(0). */"/>
    <method name="public final int registerTimer(int interval, com.trolltech.qt.core.QObject object)" doc="/**
&lt;p&gt;Registers a timer with the specified &lt;tt&gt;interval&lt;/tt&gt; for the given &lt;tt&gt;object&lt;/tt&gt;.&lt;/p&gt;
 */"/>
    <method name="public void closingDown()" doc="/**
&lt;p&gt;&lt;/p&gt;
 */"/>
    <method name="public abstract void flush()" doc="/**
&lt;p&gt;Flushes the event queue. This normally returns almost immediately. Does nothing on platforms other than X11.&lt;/p&gt;
 */"/>
    <method name="public abstract boolean hasPendingEvents()" doc="/**
&lt;p&gt;Returns true if there is an event waiting; otherwise returns false.&lt;/p&gt;
 */"/>
    <method name="public abstract void interrupt()" doc="/**
&lt;p&gt;Interrupts event dispatching; i.e&amp;#x2e; the event dispatcher will return from &lt;a href=&quot;QAbstractEventDispatcher.html#processEvents(com.trolltech.qt.core.QEventLoop.ProcessEventsFlags)&quot;&gt;&lt;tt&gt;processEvents&lt;/tt&gt;&lt;/a&gt; as soon as possible.&lt;/p&gt;
 */"/>
    <method name="public abstract boolean processEvents(com.trolltech.qt.core.QEventLoop.ProcessEventsFlags flags)" doc="/**
&lt;p&gt;Processes pending events that match &lt;tt&gt;flags&lt;/tt&gt; until there are no more events to process. Returns true if an event was processed; otherwise returns false.&lt;/p&gt;
&lt;p&gt;This function is especially useful if you have a long running operation and want to show its progress without allowing user input; i.e&amp;#x2e; by using the QEventLoop::ExcludeUserInputEvents flag.&lt;/p&gt;
&lt;p&gt;If the QEventLoop::WaitForMoreEvents flag is set in &lt;tt&gt;flags&lt;/tt&gt;, the behavior of this function is as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If events are available, this function returns after processing them.&lt;/li&gt;
&lt;li&gt;If no events are available, this function will wait until more are available and return after processing newly available events.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If the QEventLoop::WaitForMoreEvents flag is not set in &lt;tt&gt;flags&lt;/tt&gt;, and no events are available, this function will return immediately.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; This function does not process events continuously; it returns after all available events are processed.&lt;/p&gt;

@see &lt;a href=&quot;QAbstractEventDispatcher.html#hasPendingEvents()&quot;&gt;&lt;tt&gt;hasPendingEvents&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract void registerSocketNotifier(com.trolltech.qt.core.QSocketNotifier notifier)" doc="/**
&lt;p&gt;Registers &lt;tt&gt;notifier&lt;/tt&gt; with the event loop. Subclasses must implement this method to tie a socket notifier into another event loop.&lt;/p&gt;
 */"/>
    <method name="public abstract void registerTimer(int timerId, int interval, com.trolltech.qt.core.QObject object)" doc="/**
&lt;p&gt;Register a timer with the specified &lt;tt&gt;timerId&lt;/tt&gt; and &lt;tt&gt;interval&lt;/tt&gt; for the given &lt;tt&gt;object&lt;/tt&gt;.&lt;/p&gt;
 */"/>
    <method name="public abstract java.util.List&lt;com.trolltech.qt.QPair&lt;java.lang.Integer, java.lang.Integer&gt;&gt; registeredTimers(com.trolltech.qt.core.QObject object)" doc="/**
&lt;p&gt;Returns a list of registered timers for &lt;tt&gt;object&lt;/tt&gt;. The timer ID is the first member in each pair; the interval is the second.&lt;/p&gt;
 */"/>
    <method name="public void startingUp()" doc="/**
&lt;p&gt;&lt;/p&gt;
 */"/>
    <method name="public abstract void unregisterSocketNotifier(com.trolltech.qt.core.QSocketNotifier notifier)" doc="/**
&lt;p&gt;Unregisters &lt;tt&gt;notifier&lt;/tt&gt; from the event dispatcher. Subclasses must reimplement this method to tie a socket notifier into another event loop. Reimplementations must call the base implementation.&lt;/p&gt;
 */"/>
    <method name="public abstract boolean unregisterTimer(int timerId)" doc="/**
&lt;p&gt;Unregisters the timer with the given &lt;tt&gt;timerId&lt;/tt&gt;. Returns true if successful; otherwise returns false.&lt;/p&gt;

@see &lt;a href=&quot;QAbstractEventDispatcher.html#registerTimer(int, int, com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;registerTimer&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QAbstractEventDispatcher.html#unregisterTimers(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;unregisterTimers&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract boolean unregisterTimers(com.trolltech.qt.core.QObject object)" doc="/**
&lt;p&gt;Unregisters all the timers associated with the given &lt;tt&gt;object&lt;/tt&gt;. Returns true if all timers were successful removed; otherwise returns false.&lt;/p&gt;

@see &lt;a href=&quot;QAbstractEventDispatcher.html#unregisterTimer(int)&quot;&gt;&lt;tt&gt;unregisterTimer&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QAbstractEventDispatcher.html#registeredTimers(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;registeredTimers&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract void wakeUp()" doc="/**
&lt;p&gt;Wakes up the event loop.&lt;/p&gt;

@see &lt;a href=&quot;QAbstractEventDispatcher.html#awake()&quot;&gt;&lt;tt&gt;awake&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public native static com.trolltech.qt.core.QAbstractEventDispatcher instance(java.lang.Thread thread)" doc="/**
&lt;p&gt;Returns a pointer to the event dispatcher object for the specified &lt;tt&gt;thread&lt;/tt&gt;. If &lt;tt&gt;thread&lt;/tt&gt; is zero, the current thread is used. If no event dispatcher exists for the specified thread, this function returns 0.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; If Qt is built without thread support, the &lt;tt&gt;thread&lt;/tt&gt; argument is ignored.&lt;/p&gt;
 */"/>
    <method name="public static com.trolltech.qt.core.QAbstractEventDispatcher instance()" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QAbstractEventDispatcher.html#instance(java.lang.Thread)&quot;&gt;instance&lt;/tt&gt;&lt;/a&gt;(0). */"/>
</class>
