ivchart_impl.h 810 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef IVCHART_IMPL_H
  2. #define IVCHART_IMPL_H
  3. #include <QDateTime>
  4. #include <QtDBus/qdbusmessage.h>
  5. #include <QtDBus/QDBusConnection>
  6. #include <QThread>
  7. #include <QWaitCondition>
  8. #include <QMutex>
  9. #include <vector>
  10. #include <memory>
  11. #include <iostream>
  12. #include <unistd.h>
  13. #include "ivchart.pb.h"
  14. namespace iv {
  15. class ivchart_impl : public QThread
  16. {
  17. public:
  18. ivchart_impl();
  19. ~ivchart_impl();
  20. public:
  21. void chartvalue(std::string varname,const double fvalue,const double fvalue_RangeMin = 0.0,const double fvalue_RangeMax = 1.0);
  22. private:
  23. QDBusMessage mmsg;
  24. void run();
  25. QWaitCondition mwc;
  26. QMutex mWaitMutex;
  27. iv::ivchart::ivchartarray mvectorchart;
  28. QMutex mMutexVector;
  29. int writechart(iv::ivchart::ivchartarray * pxvectorchart);
  30. };
  31. }
  32. #endif // IVCHART_IMPL_H