alarmlight.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma once
  2. #include "BaseModule.h"
  3. #include <QtCore/QThread>
  4. #include <QtCore/QVariant>
  5. #include <QtCore/QDebug>
  6. #include <thread>
  7. #include <stdlib.h>
  8. #include <math.h>
  9. #include "alarmlight_global.h"
  10. typedef struct
  11. {
  12. public:
  13. QString sourceobject;
  14. QString useoperator;
  15. double operator1;
  16. double operator2;
  17. QString targetdevice;
  18. QString targetdevicecommand;
  19. }oneregulation;
  20. class ALARMLIGHT_EXPORT Alarmlight : public BaseModule
  21. {
  22. public:
  23. Alarmlight();
  24. private:
  25. std::map<QString,QString> m_mpDeviceLastCommand; // 记录设备的上一次操作,如果连续发后续就不发了
  26. std::multimap<std::string,oneregulation> m_mpRegulation;
  27. DataConsumer* m_pDataConsumer;
  28. public:
  29. virtual void Setup(ModuleInfo moduleInfo);
  30. virtual void regConsumer(DataConsumer* pDC);
  31. virtual bool isInheritedFrom(std::string tp);
  32. virtual void OnSubData(std::string name,std::string val);
  33. };
  34. extern "C" {//一定要添加上
  35. ALARMLIGHT_EXPORT BaseModule* instance();
  36. ALARMLIGHT_EXPORT void destroy(BaseModule*);
  37. }