| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | #pragma once#include "LNBuffer.h"#include "LNHandle.h"#include <thread>#include <chrono>#include <Simplelog.h>#include <map>#include <time.h>#include <httplib.h>#include "MGWSServer.h"#include "ProactorTask.h"#include <ace/Init_ACE.h>#include "LNAcceptor.h"extern bool g_bLog;extern time_t g_stStart;extern string g_strExepath; //程序目录extern string g_strVersion; //程序版本typedef struct tagFileData{    char* data = nullptr;	uint32_t len = 0;    uint32_t crc = 0;    time_t ctime = 0;public:    tagFileData()    {        ctime = time(NULL);    }    void Join();private:    ~tagFileData()    {        delete[] data;        len = 0;        crc = 0;        ctime = 0;    }}UPGRADE_FILE_DATA, *LPUPGRADE_FILE_DATA;class CAppService{public:    CAppService();    virtual ~CAppService();public:    static CAppService* Instance() { return &obj; };    bool Start();    void Stop();    CLNHandle* GetHandle()  { return m_pHandle; };    CLNAcceptor* GetAcceptor() { return m_pAcceptor; };    inline CMGWSServer* GetMgServer() { return m_mgServer; }    static BOOL    FileDataConvertCharData(const uint8_t* filedata, const int filelen, char* strData);    BOOL m_bHaveDeviceUpgrade = FALSE;    time_t m_tDeviceUpgrade = 0;private:	static void ThreadProcForHTTP(DWORD_PTR);	static void ThreadProcCreateTable(DWORD_PTR);private:    CString m_strIniPath;    static CAppService obj;    bool m_bRun = false;    CLNHandle*  m_pHandle = nullptr;    CLNAcceptor* m_pAcceptor = nullptr;    CMGWSServer* m_mgServer = nullptr;    CProactorTask   *m_pProactorTask = nullptr;	std::thread *m_pCreateTableThread = nullptr;    bool m_bWork = false;	std::thread *m_pHttpThread = nullptr;	static httplib::Server m_svr;    //磁盘告警    static void ThreadProcForSpace(DWORD_PTR);    std::thread* m_pThreadSpace = nullptr;    int m_nInterval = 3600; //间隔一个小时执行一次磁盘判断    time_t m_tmLastSpaceTime = 0;};
 |