carback.h 810 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef CARBACK_H
  2. #define CARBACK_H
  3. #include <QObject>
  4. #include <QApplication>
  5. class Carback : public QObject
  6. {
  7. Q_OBJECT
  8. #define g_Carback (Carback::instance())
  9. public:
  10. struct vin_screen {
  11. unsigned int disp_x;
  12. unsigned int disp_y;
  13. unsigned int disp_width;
  14. unsigned int disp_height;
  15. };
  16. enum CarbackStatus {
  17. CBS_Undefine = -1,
  18. CBS_Off,
  19. CBS_On,
  20. };
  21. inline static Carback* instance() {
  22. static Carback *carback(new Carback(qApp));
  23. return carback;
  24. }
  25. void initialize();
  26. signals:
  27. void CarbackStatusChange(int status);
  28. private:
  29. explicit Carback(QObject *parent = nullptr);
  30. ~Carback();
  31. static void* readCarbckStatus(void *arg);
  32. int exitThread;
  33. int carbackFd;
  34. };
  35. #endif // CARBACK_H