#ifndef QABSTRACTEVENTDISPATCHER_H
#define QABSTRACTEVENTDISPATCHER_H
#include <QtCore/qobject.h>
#include <QtCore/qeventloop.h>
typedef enum QtValidLicenseForCoreModule QtCoreModule;
struct QAbstractEventDispatcherPrivate;
struct QSocketNotifier;
template < typename T1, typename T2 > struct QPair;
class QAbstractEventDispatcher: public QObject{
public: virtual struct QMetaObject const * metaObject() const
public: static struct QMetaObject const staticMetaObject;
public: virtual void* qt_metacast(char const *);
public: static inline class QString tr(char const * s, char const * c = 0);
public: static inline class QString trUtf8(char const * s, char const * c = 0);
public: static inline class QString tr(char const * s, char const * c, int n);
public: static inline class QString trUtf8(char const * s, char const * c, int n);
public: virtual int qt_metacall(enum QMetaObject::Call, int, void* *);
private: inline struct QAbstractEventDispatcherPrivate* d_func();
private: inline struct QAbstractEventDispatcherPrivate const * d_func() const
public: typedef class QPair < int, int > TimerInfo;
public: explicit QAbstractEventDispatcher(class QObject* parent = 0);
public: virtual ~QAbstractEventDispatcher();
public: static class QAbstractEventDispatcher* instance(struct QThread* thread = 0);
public: virtual bool processEvents(class QFlags < enum QEventLoop::ProcessEventsFlag > flags) = 0;
public: virtual bool hasPendingEvents() = 0;
public: virtual void registerSocketNotifier(struct QSocketNotifier* notifier) = 0;
public: virtual void unregisterSocketNotifier(struct QSocketNotifier* notifier) = 0;
public: int registerTimer(int interval, class QObject* object);
public: virtual void registerTimer(int timerId, int interval, class QObject* object) = 0;
public: virtual bool unregisterTimer(int timerId) = 0;
public: virtual bool unregisterTimers(class QObject* object) = 0;
public: virtual class QList < class QPair < int, int > > registeredTimers(class QObject* object) const = 0;
public: virtual void wakeUp() = 0;
public: virtual void interrupt() = 0;
public: virtual void flush() = 0;
public: virtual void startingUp();
public: virtual void closingDown();
public: typedef bool (* EventFilter)(void*);
public: bool (* setEventFilter(bool (* filter)(void*)) )(void*);
public: bool filterEvent(void* message);
protected: void aboutToBlock();
protected: void awake();
protected: QAbstractEventDispatcher(struct QAbstractEventDispatcherPrivate&, class QObject* parent);
friend struct QAbstractEventDispatcherPrivate;
};
#endif // QABSTRACTEVENTDISPATCHER_H