coreobject.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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 <QDebug>
  26. #include <QListIterator>
  27. #include "ttsthreads.h"
  28. #include "wechartthreads.h"
  29. #include "logthread.h"
  30. class AlarmEvent {
  31. public:
  32. explicit AlarmEvent(QString id, QString etime, int sta, uint t){
  33. Device_Code = id;
  34. Event_Time = etime;
  35. Event_Status = sta;
  36. t_stamp = t;
  37. }
  38. QString Device_Code;
  39. QString Event_Time;
  40. int Event_Status;
  41. uint t_stamp;
  42. };
  43. class Alarm_Report {
  44. public:
  45. explicit Alarm_Report(QString addr, QString time, QString type, QString sql){
  46. Device_Code = addr;
  47. Event_Time = time;
  48. Event_Name = type;
  49. Sql = sql;
  50. }
  51. QString Device_Code;
  52. QString Event_Time;
  53. QString Event_Name;
  54. QString Sql;
  55. };
  56. class Company_Phone {
  57. public:
  58. explicit Company_Phone(QString companycode, QString phone){
  59. CompanyCode=companycode;
  60. Phone=phone;
  61. }
  62. QString CompanyCode;
  63. QString Phone;
  64. };
  65. class CoreObject : public QObject
  66. {
  67. Q_OBJECT
  68. public:
  69. explicit CoreObject(QObject *parent = 0);
  70. ~CoreObject();
  71. void start();
  72. bool shm_load();
  73. void shm_init();
  74. void AlarmReport(QString addr, QString type, QString time, QString companyCode, quint64 insertid);
  75. void chkPhoneList();
  76. void appendLog(QString log);
  77. QString getCompanyCode(QString addr);
  78. bool checkAlarmDevTime(QString deviceid);
  79. QStringList sqlList;
  80. QList<AlarmEvent> alarmList;
  81. QList<Alarm_Report> reportList;
  82. QList<Company_Phone> companyphoneList;
  83. signals:
  84. public slots:
  85. void time_out();
  86. void process_stop();
  87. void chartlog(quint16 idx, QDateTime t, QString data, bool dirflag);
  88. private:
  89. QTimer *timer;
  90. bool isWorking;
  91. QList<QProcess *> processList;
  92. QSqlDatabase db;
  93. ttsThreads *wssThread[8];
  94. ttsThreads *spThread[8];
  95. WechartThreads *wxThreads[8];
  96. LogThread *logThread;
  97. int repcur,wxcur;
  98. int synchour;
  99. uint alarmTime[DEVICES_COUNT];
  100. long alarmListenHandle;
  101. };
  102. #endif // COREOBJECT_H