17using FrameData = std::array<uint8_t,MAX_IMAGE_SIZE>;
32 static bool setupZMClient (
void);
35 bool connectToHost(
const QString &
hostname,
unsigned int port);
38 bool checkProtoVersion(
void);
44 void getServerStatus(QString &status, QString &cpuStat, QString &diskStat);
45 void updateMonitorStatus(
void);
46 void getEventList(
const QString &monitorName,
bool oldestFirst,
47 const QString &date,
bool includeContinuous, std::vector<Event*> *eventList);
49 void getAnalyseFrame(
Event *event,
int frameNo, QImage &image);
50 int getLiveFrame(
int monitorID, QString &status,
FrameData& buffer);
51 void getFrameList(
int eventID, std::vector<Frame*> *frameList);
53 void deleteEventList(std::vector<Event*> *eventList);
55 int getMonitorCount(
void);
57 Monitor* getMonitorByID(
int monID);
59 void getCameraList(QStringList &cameraList);
60 void getEventDates(
const QString &monitorName,
bool oldestFirst,
61 QStringList &dateList);
62 void setMonitorFunction(
int monitorID,
const QString &function,
bool enabled);
63 bool updateAlarmStates(
void);
68 void saveNotificationMonitors(
void);
72 void customEvent(QEvent *event)
override;
75 void restartConnection(
void);
78 void doGetMonitorList(
void);
79 bool readData(
unsigned char *data,
int dataSize);
80 bool sendReceiveStringList(QStringList &strList);
89 QString m_hostname {
"localhost"};
91 bool m_bConnected {
false};
92 QTimer *m_retryTimer {
nullptr};
93 bool m_zmclientReady {
false};
94 bool m_isMiniPlayerEnabled {
true};
Class for communcating between myth backends and frontends.
bool isMiniPlayerEnabled(void) const
QMap< int, Monitor * > m_monitorMap
QRecursiveMutex m_listLock
QList< Monitor * > m_monitorList
QRecursiveMutex m_commandLock
void setIsMiniPlayerEnabled(bool enabled)
QRecursiveMutex m_socketLock
static ZMClient * m_zmclient
bool connected(void) const
static void showMiniPlayer(void)
bool readData(const QString &filename, float *mean, unsigned char *median, float *stddev, int *frow, int *fcol, int *fwidth, int *fheight, HistogramAnalyzer::Histogram *histogram, unsigned char *monochromatic, long long nframes)
static QKeyEvent deleteEvent(QKeyEvent(QEvent::KeyPress, 0, Qt::NoModifier,"DELETE"))
static constexpr size_t MAX_IMAGE_SIZE
std::array< uint8_t, MAX_IMAGE_SIZE > FrameData