generated from zhangwei/Matrixai
57 lines
1.5 KiB
C++
57 lines
1.5 KiB
C++
#ifndef ToWeb_H_
|
|
#define ToWeb_H_
|
|
|
|
#include "json/json.h"
|
|
#include "httplib.h"
|
|
#include "AppCommon.h"
|
|
|
|
namespace ai_matrix
|
|
{
|
|
class ToWeb final
|
|
{
|
|
public:
|
|
static ToWeb *getins();
|
|
|
|
std::string webToken; //授权信息
|
|
|
|
HttpServerConfig httpConfig_;
|
|
|
|
void setConfig(const HttpServerConfig &httpConfig);
|
|
|
|
bool getToken();
|
|
// 列车信息提交http接口
|
|
bool upWeb(const Json::Value &jvRequest, int retransmission = 0);
|
|
// 上传车号识别状态
|
|
bool upDeviceStatus(const Json::Value &jvRequest, int retransmission = 0);
|
|
// 获取火车状态(仅程序运行时运行一次)
|
|
bool getTrainStatus(const std::string &strPoundNo, Json::Value &jvResponse, int retransmission = 0);
|
|
private:
|
|
ToWeb() = default;
|
|
ToWeb(const ToWeb &) = delete;
|
|
ToWeb(ToWeb &&) = delete;
|
|
ToWeb &operator=(const ToWeb &) = delete;
|
|
ToWeb &operator=(ToWeb &&) = delete;
|
|
~ToWeb() = default;
|
|
|
|
//定义一个嵌套类,负责释放内存,操作系统自动完成,不用担心内存泄露
|
|
class GarbageCollector
|
|
{
|
|
public:
|
|
~GarbageCollector()
|
|
{
|
|
if (ToWeb::ins)
|
|
{
|
|
delete ToWeb::ins;
|
|
ToWeb::ins = nullptr;
|
|
}
|
|
}
|
|
};
|
|
|
|
static GarbageCollector gc;
|
|
static ToWeb *ins;
|
|
static std::mutex mx; //锁,保证线程安全
|
|
|
|
};
|
|
}
|
|
|
|
#endif |