RunnableThread.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef RUNNABLETHREAD_H
  2. #define RUNNABLETHREAD_H
  3. #include <QThread>
  4. #include <QRunnable>
  5. #include <QScopedPointer>
  6. class CustomRunnablePrivate;
  7. class CustomRunnable : public QRunnable
  8. {
  9. Q_DISABLE_COPY(CustomRunnable)
  10. public:
  11. CustomRunnable();
  12. ~CustomRunnable();
  13. void setCallbackFunction(void (*callback)(void *), void *parameter);
  14. protected:
  15. void run();
  16. private:
  17. friend class CustomRunnablePrivate;
  18. QScopedPointer<CustomRunnablePrivate> m_Private;
  19. };
  20. class CustomThreadPrivate;
  21. class CustomThread : public QThread
  22. {
  23. Q_DISABLE_COPY(CustomThread)
  24. public:
  25. explicit CustomThread(QObject *parent = NULL);
  26. ~CustomThread();
  27. void setCallbackFunction(void (*callback)(void *), void *parameter);
  28. void setEventLoop(const bool exec);
  29. void setusleep(const unsigned long value);
  30. public slots:
  31. void callbackFunctionSlots();
  32. protected:
  33. void run();
  34. private:
  35. friend class CustomThreadPrivate;
  36. QScopedPointer<CustomThreadPrivate> m_Private;
  37. };
  38. #endif // RUNNABLETHREAD_H