58 lines
1.4 KiB
C++
58 lines
1.4 KiB
C++
/**
|
|
* 上传结果到http服务器
|
|
* */
|
|
|
|
#ifndef RESULTTOHTTPSRVENGINE_H
|
|
#define RESULTTOHTTPSRVENGINE_H
|
|
|
|
#include "AppCommon.h"
|
|
#include "MyYaml.h"
|
|
#include "EngineBase.h"
|
|
#include "EngineFactory.h"
|
|
|
|
#include <mutex>
|
|
#include <curl/curl.h>
|
|
#include <libssh2.h>
|
|
#include "json/json.h"
|
|
|
|
using namespace ai_matrix;
|
|
|
|
class ResultToHttpSrvEngine : public ai_matrix::EngineBase
|
|
{
|
|
public:
|
|
ResultToHttpSrvEngine();
|
|
~ResultToHttpSrvEngine();
|
|
|
|
APP_ERROR Init() override;
|
|
APP_ERROR DeInit() override;
|
|
APP_ERROR Process() override;
|
|
|
|
private:
|
|
//libcurl回调函数
|
|
static size_t WriteCallBack(void *pBuffer, size_t size, size_t nmemb, std::string &strResp);
|
|
// 调用http接口获取token
|
|
bool GetToken(std::string &strBladeAuth);
|
|
//列车信息提交http接口
|
|
bool ResultToHttpSrv(Json::Value &jvRequest);
|
|
//处理上传失败的信息
|
|
void DealHttpFailInfo();
|
|
// 保存http上传失败的信息
|
|
bool SaveHttpFailInfo(Json::Value &jvRequest, std::string &strFilePath);
|
|
|
|
std::string strPort0_;
|
|
std::string strUsername_;
|
|
std::string strPassword_;
|
|
std::string strURL_;
|
|
std::string strGetTokenURL_;
|
|
std::string strImageSrv_;
|
|
CURL *pCurl_ = nullptr;
|
|
int iNoDataCnt_ = 0;
|
|
std::string strFailSavePath_;
|
|
std::string strFailSaveBakPath_;
|
|
std::string strPoundNo_;
|
|
};
|
|
|
|
ENGINE_REGIST(ResultToHttpSrvEngine)
|
|
|
|
#endif
|