coreobject.h 2.4 KB

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