coreobject.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. #ifndef COREOBJECT_H
  2. #define COREOBJECT_H
  3. #include <QObject>
  4. #include <QTimer>
  5. #include <QList>
  6. #include <QDateTime>
  7. #include "HCEHomeCMS.h"
  8. #include "HCEHomeAlarm.h"
  9. #include "HCEHomeStream.h"
  10. #include <QUuid>
  11. #include <QRegExp>
  12. #include <stdio.h>
  13. #include <unistd.h>
  14. #include <stdlib.h>
  15. #include <string.h>
  16. #include <fcntl.h>
  17. #include <QFile>
  18. #include <QProcess>
  19. #include "../include/YT_EHOME_shm.h"
  20. #include <QXmlStreamReader>
  21. #include <QStringList>
  22. #include <QSqlDatabase>
  23. #include <QSqlQuery>
  24. #include <QVariant>
  25. #include <qmqtt.h>
  26. //#include <QDebug>
  27. #include <QListIterator>
  28. #include "ttsthreads.h"
  29. #include "wechartthreads.h"
  30. #include "logthread.h"
  31. class AlarmEvent {
  32. public:
  33. explicit AlarmEvent(QString id, QString etime, int sta, uint t){
  34. Device_Code = id;
  35. Event_Time = etime;
  36. Event_Status = sta;
  37. t_stamp = t;
  38. }
  39. QString Device_Code;
  40. QString Event_Time;
  41. int Event_Status;
  42. uint t_stamp;
  43. };
  44. class Alarm_Report {
  45. public:
  46. explicit Alarm_Report(QString addr, QString time, QString type, QString sql){
  47. Device_Code = addr;
  48. Event_Time = time;
  49. Event_Name = type;
  50. Sql = sql;
  51. }
  52. QString Device_Code;
  53. QString Event_Time;
  54. QString Event_Name;
  55. QString Sql;
  56. };
  57. class Company_Phone {
  58. public:
  59. explicit Company_Phone(QString companycode, QString phone){
  60. CompanyCode=companycode;
  61. Phone=phone;
  62. }
  63. QString CompanyCode;
  64. QString Phone;
  65. };
  66. class CoreObject : public QObject
  67. {
  68. Q_OBJECT
  69. public:
  70. explicit CoreObject(QObject *parent = 0);
  71. ~CoreObject();
  72. void start();
  73. bool shm_load();
  74. void shm_init();
  75. void AlarmReport(QString addr, QString type, QString time, QString companyCode, quint64 insertid);
  76. void chkPhoneList();
  77. void appendLog(QString log);
  78. QString getCompanyCode(QString addr);
  79. bool checkAlarmDevTime(QString deviceid);
  80. void clear_devalarm(AlarmEvent devAlarm,bool isFtp);
  81. QStringList sqlList;
  82. QList<AlarmEvent> alarmList;
  83. QList<Alarm_Report> reportList;
  84. QList<Company_Phone> companyphoneList;
  85. signals:
  86. public slots:
  87. void time_out();
  88. void process_stop();
  89. void chartlog(quint16 idx, QDateTime t, QString data, bool dirflag);
  90. void mqconnected();
  91. private:
  92. QTimer *timer;
  93. bool isWorking;
  94. QList<QProcess *> processList;
  95. QSqlDatabase db;
  96. ttsThreads *wssThread[8];
  97. ttsThreads *spThread[8];
  98. WechartThreads *wxThreads[8];
  99. LogThread *logThread;
  100. int repcur,wxcur;
  101. int synchour;
  102. uint alarmTime[DEVICES_COUNT];
  103. long alarmListenHandle;
  104. QMQTT::Client *m_client;
  105. quint16 infomqttIdx,alarmmqttIdx;
  106. };
  107. #endif // COREOBJECT_H