#include <QtCore/qthread.h>
#ifndef QTHREAD_H
#ifndef QT_NO_THREAD
class QThread: public QObject{
   public: static Qt::HANDLE currentThreadId();
   public: static class QThread* currentThread();
   public: explicit QThread(class QObject* parent = 0);
   public: virtual ~QThread();
   public: enum Priority{
      IdlePriority = 0,
      LowestPriority = 1,
      LowPriority = 2,
      NormalPriority = 3,
      HighPriority = 4,
      HighestPriority = 5,
      TimeCriticalPriority = 6,
      InheritPriority = 7,
   };
   public: void setPriority(enum QThread::Priority priority);
   public: enum QThread::Priority priority() const
   public: bool isFinished() const
   public: bool isRunning() const
   public: void setStackSize(uint stackSize);
   public: uint stackSize() const
   public: void exit(int retcode = 0);
   public: void start(enum QThread::Priority = QThread::InheritPriority);
   public: void terminate();
   public: void quit();
   public: bool wait(long unsigned int time = -1);
   protected: void started();
   protected: void finished();
   protected: void terminated();
   protected: virtual void run() = 0;
   protected: int exec();
   protected: static void setTerminationEnabled(bool enabled = 1);
   protected: static void sleep(long unsigned int);
   protected: static void msleep(long unsigned int);
   protected: static void usleep(long unsigned int);
   protected: QThread(struct QThreadPrivate& dd, class QObject* parent = 0);
   public: static struct QMetaObject const staticMetaObject;
   public: virtual struct QMetaObject const * metaObject() const
   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 QThreadPrivate* d_func();
   private: inline struct QThreadPrivate const * d_func() const
   private: static void initialize();
   private: static void cleanup();
   friend struct QThreadPrivate;
   friend struct QCoreApplication;
   friend struct QThreadData;
};
#else // QT_NO_THREAD
#endif // QT_NO_THREAD
#endif // QTHREAD_H