Go to the documentation of this file.
21 #include <mysql/mysql.h>
28 #define MAX_IMAGE_SIZE (2048*1536*3)
29 using FrameData = std::array<uint8_t,MAX_IMAGE_SIZE>;
50 #define DB_CHECK_TIME 60
307 std::string
getZMSetting(
const std::string &setting)
const;
308 bool send(
const std::string &s)
const;
309 bool send(
const std::string &s,
const unsigned char *buffer,
int dataLen)
const;
314 static void tokenize(
const std::string &command, std::vector<std::string> &tokens);
316 static std::string
runCommand(
const std::string& command);
318 const std::string &device,
const std::string &host,
319 const std::string &
channel,
const std::string &
function,
320 std::string &zmcStatus, std::string &zmaStatus,
321 const std::string &enabled);
void connectToDatabase(void)
void handleRunZMAudit(void)
static void error(const char *str,...)
std::string m_analysisFileFormat
time_t zma_heartbeat_time
SharedData34 * m_sharedData34
void handleGetAnalysisFrame(std::vector< std::string > tokens)
SharedData32 * m_sharedData32
void handleGetServerStatus(void)
const std::string FUNCTION_NONE
const std::string FUNCTION_MODECT
uint32_t last_write_index
static int getFrame(FrameData &buffer, MONITOR *monitor)
uint8_t control_state[256]
SharedData26 * m_sharedData26
const std::string FUNCTION_MONITOR
void zmcControl(MONITOR *monitor, const std::string &mode)
void zmaControl(MONITOR *monitor, const std::string &mode)
void initMonitor(bool debug, const std::string &mmapPath, int shmKey)
void handleGetAlarmStates(void)
std::string getZMSetting(const std::string &setting) const
static std::string runCommand(const std::string &command)
const std::string RUNNING
void handleGetCameraList(void)
void getMonitorList(void)
static long long getDiskSpace(const std::string &filename, long long &total, long long &used)
void handleGetEventList(std::vector< std::string > tokens)
void loadZMConfig(const std::string &configfile)
std::string getIdStr(void)
const std::string FUNCTION_RECORD
VERBOSE_PREAMBLE Most debug(nodatabase, notimestamp, noextra)") VERBOSE_MAP(VB_GENERAL
time_t zmc_heartbeat_time
void handleDeleteEvent(std::vector< std::string > tokens)
void handleGetFrameList(std::vector< std::string > tokens)
std::string m_eventFileFormat
const std::string RESTART
const std::string FUNCTION_NODECT
unsigned char * m_sharedImages
bool checkVersion(int major, int minor, int revision)
uint8_t control_state[256]
void handleGetMonitorList(void)
void handleDeleteEventList(std::vector< std::string > tokens)
void sendError(const std::string &error)
void handleGetMonitorStatus(void)
const std::string FUNCTION_MOCORD
int getSubpixelOrder(void)
char trigger_showtext[256]
static void getMonitorStatus(const std::string &id, const std::string &type, const std::string &device, const std::string &host, const std::string &channel, const std::string &function, std::string &zmcStatus, std::string &zmaStatus, const std::string &enabled)
std::map< int, MONITOR * > m_monitorMap
static void tokenize(const std::string &command, std::vector< std::string > &tokens)
TriggerState trigger_state
uint8_t control_state[256]
void handleSetMonitorFunction(std::vector< std::string > tokens)
SharedData * m_sharedData
std::array< uint8_t, MAX_IMAGE_SIZE > FrameData
bool send(const std::string &s) const
int getLastWriteIndex(void)
ZMServer(int sock, bool debug)
std::vector< MONITOR * > m_monitors
uint32_t last_write_index
uint32_t last_write_index
char trigger_showtext[256]
bool processRequest(char *buf, int nbytes)
void handleGetLiveFrame(std::vector< std::string > tokens)
void handleGetEventFrame(std::vector< std::string > tokens)
void kickDatabase(bool debug)
void handleGetEventDates(std::vector< std::string > tokens)