#pragma once #include "ProtocolBase.h" class ReqClientCfgParams { public: std::string identifier; AIGC_JSON_HELPER(identifier) }; class ReqHeartParams { public: std::string message; AIGC_JSON_HELPER(message) AIGC_JSON_HELPER_DEFAULT(message = TEXT("PING")) }; class RspHeartParams : public ResponseStatus { public: std::string message; AIGC_JSON_HELPER(message) AIGC_JSON_HELPER_BASE((ResponseStatus *)this) AIGC_JSON_HELPER_DEFAULT(message = TEXT("PONG")) }; class ReqGetUserCfgParams { public: std::string user; std::string token; AIGC_JSON_HELPER(user, token) }; class RspUserSevrCfgParams { public: int svrListenPort; std::string svrPrivateKey; std::string svrAddress; AIGC_JSON_HELPER(svrListenPort, svrPrivateKey, svrAddress) }; class ReqStartTunnelParams { public: bool isStart; AIGC_JSON_HELPER(isStart) }; class ReqUserSetCliCfgParams { public: std::string cliPublicKey; std::string cliNetwork; std::string cliTunnelAddr; AIGC_JSON_HELPER(cliPublicKey, cliNetwork, cliTunnelAddr) }; class VitrualMathineCfg { public: int vmId; std::string vmName; std::string svrPublicKey; std::string vmNetwork; std::string scgGateway; AIGC_JSON_HELPER(vmId, vmName, svrPublicKey, vmNetwork, scgGateway) }; class RspUsrCliConfigParams { public: int scgCtrlAppId; int scgTunnelAppId; std::string cliPrivateKey; std::string cliPublicKey; std::string cliAddress; std::list vmConfig; AIGC_JSON_HELPER(scgCtrlAppId, scgTunnelAppId, cliPrivateKey, cliPublicKey, cliAddress, vmConfig) }; #define GET_CLIENTCFG_PATH TEXT("/tunnel/getuserconfig") #define GET_SERVERCFG_PATH TEXT("/tunnel/getserverconfig") #define SET_CLIENTCFG_PATH TEXT("/tunnel/setconfig") #define SET_CLIENTSTART_TUNNEL TEXT("/tunnel/start") #define SET_CLIENTHEART_PATH TEXT("/tunnel/heart") int InitControlServer(const TCHAR *pUserSvrUrl); template int ProtolPostMessage(const TCHAR *pUrlPath, ProtocolRequest *pReq, ProtocolResponse *pRsp, bool platformServer = true); extern template int ProtolPostMessage(const TCHAR *pUrlPath, ProtocolRequest *pReq, ProtocolResponse *pRsp, bool platformServer); extern template int ProtolPostMessage(const TCHAR *pUrlPath, ProtocolRequest *pReq, ProtocolResponse *pRsp, bool platformServer); extern template int ProtolPostMessage(const TCHAR *pUrlPath, ProtocolRequest *pReq, ProtocolResponse *pRsp, bool platformServer); extern template int ProtolPostMessage(const TCHAR *pUrlPath, ProtocolRequest *pReq, ProtocolResponse *pRsp, bool platformServer); extern template int ProtolPostMessage(const TCHAR *pUrlPath, ProtocolRequest *pReq, ProtocolResponse *pRsp, bool platformServer);