V0.12
This commit is contained in:
parent
dc12ef7c8c
commit
25de7b4c32
@ -37,6 +37,9 @@ void Config::Init() {
|
||||
Setting->ServerPort = Json["ServerPort"];
|
||||
Setting->ID = Json["ID"];
|
||||
Setting->Name = Json["Name"];
|
||||
Setting->WorkingMode = Json["WorkingMode"];
|
||||
Setting->TermNumber = Json["TermNumber"];
|
||||
Setting->DHCPFlag = Json["DHCPFlag"];
|
||||
}
|
||||
}
|
||||
catch (CCException& e) {
|
||||
@ -90,11 +93,16 @@ ConfigTerm * Config::getThisInfo() {
|
||||
std::strcpy(Data->termCmdPortStr,CC::to_String(Setting->OrderPort).c_str());
|
||||
std::strcpy(Data->servCmdPortStr,CC::to_String(Setting->ServerPort).c_str());
|
||||
std::strcpy(Data->termStmPortStr,CC::to_String(Setting->StreamPort).c_str());
|
||||
std::strcpy(Data->workModeStr,"");
|
||||
// const auto workModeStrS = APPTool::GetBytes(Setting->WorkingMode);
|
||||
// std::strcpy(Data->workModeStr,CC::to_String(Setting->WorkingMode).c_str());
|
||||
// Data->workModeStr[0] = workModeStrS[0];
|
||||
// Data->workModeStr[1] = workModeStrS[1];
|
||||
Data->workModeStr[0] = getTermWorkInfo(Setting->WorkingMode);
|
||||
Data->workModeStr[1] = '\0';
|
||||
std::strcpy(Data->btNameStr,"");
|
||||
std::strcpy(Data->dhcpFlagStr,CC::to_String(1).c_str());
|
||||
std::strcpy(Data->dhcpFlagStr,CC::to_String(Setting->DHCPFlag).c_str());
|
||||
std::strcpy(Data->btPwdStr,"");
|
||||
std::strcpy(Data->termTypeStr,CC::to_String(1).c_str());
|
||||
std::strcpy(Data->termTypeStr,CC::to_String(Setting->TermNumber).c_str());
|
||||
std::strcpy(Data->sipUsrNameStr,"");
|
||||
std::strcpy(Data->sipUsrPwdStr,"");
|
||||
std::strcpy(Data->sipProxyRealmStr,"");
|
||||
@ -174,3 +182,19 @@ CTL::String Config::GetNetMaskCIDR(const CTL::String& Mask) {
|
||||
CTL::String cidr_str = CTL::String::format("%d",cidr);
|
||||
return cidr_str;
|
||||
}
|
||||
|
||||
char Config::getTermWorkInfo(const char index) {
|
||||
static constexpr char mappings[] = {
|
||||
0x30, 0x31, 0x32, 0x33, 0x34,
|
||||
0x35, 0x36, 0x37, 0x38, 0x39,
|
||||
'a', 'b', 'c', 'd', 'e',
|
||||
'f', 'g', 'h', 'i', 'j',
|
||||
'k', 'l', 'm', 'n', 'o',
|
||||
'p', 'q', 'r', 's', 't',
|
||||
};
|
||||
const auto size = std::size(mappings) - 1;
|
||||
if (index >= 0 && index <= size) {
|
||||
return mappings[index];
|
||||
}
|
||||
return 0x30;
|
||||
}
|
||||
|
||||
@ -31,7 +31,7 @@ struct ConfigTerm{
|
||||
|
||||
class Config {
|
||||
JSON_TYPE_INTRUSIVE(Config,IP,OrderPort,StreamPort,HttpPort,Flag,ServerID,ServerIP,ServerPort,ID
|
||||
,Name);
|
||||
,Name,WorkingMode,TermNumber,DHCPFlag);
|
||||
public:
|
||||
int ServerID = 2;
|
||||
int ID = 1;
|
||||
@ -45,6 +45,9 @@ public:
|
||||
int StreamPort = 10062;
|
||||
bool isConnect = false;
|
||||
int HttpPort = 9090;
|
||||
int WorkingMode = 0; // 工作模式
|
||||
int TermNumber = 0; // 机器编号
|
||||
int DHCPFlag = 0; // DHCP开关标识
|
||||
bool Flag = false;
|
||||
CTL::String MacAddr;
|
||||
CTL::String TermIPGw;
|
||||
@ -83,6 +86,7 @@ public:
|
||||
static void SetNetWorkInfo(const CTL::String& IP,const CTL::String& GW,const CTL::String& Mask);
|
||||
static void CloseService();
|
||||
static CTL::String GetNetMaskCIDR(const CTL::String& Mask);/*获取CIDR格式子网掩码*/
|
||||
static char getTermWorkInfo(char index);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -107,26 +107,57 @@ public:
|
||||
const ConfigTerm* t = CTL::ByteArray::Conversion<ConfigTerm>(packet.AdditionalData);
|
||||
CTL::AutoDestruct autoDestruct(t);
|
||||
if (t) {
|
||||
const auto TMac = CTL::String(t->macStr);
|
||||
const auto TMac = CTL::String(t->macChkStr);
|
||||
if (TMac == Setting->MacAddr) {
|
||||
const int ID = CTL::String(t->termIDnVerStr).to_int();
|
||||
const auto IDS = CTL::String(t->termIDnVerStr);
|
||||
if (!IDS.empty()) {
|
||||
const int ID = IDS.to_int();
|
||||
Setting->ID = ID;
|
||||
}
|
||||
const auto ServerIP = CTL::String(t->servIPAddrStr);
|
||||
const auto ServerPort = CTL::String(t->servCmdPortStr).to_int();
|
||||
const auto Port = CTL::String(t->termCmdPortStr).to_int();
|
||||
const auto DataPort = CTL::String(t->termStmPortStr).to_int();
|
||||
if (!ServerIP.empty()) {
|
||||
Setting->ServerIP = ServerIP;
|
||||
}
|
||||
const auto ServerPort = CTL::String(t->servCmdPortStr);
|
||||
if (!ServerPort.empty()) {
|
||||
Setting->ServerPort = ServerPort.to_int();
|
||||
}
|
||||
const auto Port = CTL::String(t->termCmdPortStr);
|
||||
if (!Port.empty()) {
|
||||
Setting->OrderPort = Port.to_int();
|
||||
}
|
||||
const auto DataPort = CTL::String(t->termStmPortStr);
|
||||
if (!DataPort.empty()) {
|
||||
Setting->StreamPort = DataPort.to_int();
|
||||
}
|
||||
const auto WorkN = CTL::String(t->workModeStr);
|
||||
if (!WorkN.empty()) {
|
||||
Setting->WorkingMode = WorkN.to_int();
|
||||
}
|
||||
const auto number = CTL::String(t->termTypeStr);
|
||||
if (!number.empty()) {
|
||||
Setting->TermNumber = number.to_int();
|
||||
}
|
||||
const auto Flag = CTL::String(t->dhcpFlagStr);
|
||||
if (!Flag.empty()) {
|
||||
Setting->DHCPFlag = Flag.to_int();
|
||||
}
|
||||
// -----------------------------------------------------------------
|
||||
const auto IP = CTL::String(t->termIPAddrStr);
|
||||
if (!IP.empty()) {
|
||||
Setting->IP = IP;
|
||||
}
|
||||
const auto GW = CTL::String(t->termIPGwStr);
|
||||
if (!GW.empty()) {
|
||||
Setting->TermIPGw = GW;
|
||||
}
|
||||
const auto NM = CTL::String(t->termIPNmStr);
|
||||
if (!NM.empty()) {
|
||||
Setting->TermIPNm = NM;
|
||||
}
|
||||
// -----------------------------------------------------------------
|
||||
Setting->ID = ID;
|
||||
Setting->ServerIP = ServerIP;
|
||||
Setting->ServerPort = ServerPort;
|
||||
Setting->OrderPort = Port;
|
||||
Setting->StreamPort = DataPort;
|
||||
Setting->IP = IP;
|
||||
#if IS_ARM
|
||||
Config::SetNetWorkInfo(IP,GW,NM);
|
||||
Config::SetNetWorkInfo(IP,Setting->TermIPGw,Setting->TermIPNm);
|
||||
#endif
|
||||
Config::Save();
|
||||
Config::CloseService();
|
||||
|
||||
@ -90,6 +90,7 @@ private:
|
||||
BS_Log::Warning("ConfigTool End");
|
||||
}
|
||||
static void ConnectService() {
|
||||
CTL::Thread::SleepMS(3000);
|
||||
const auto Setting = Config::getConfig();
|
||||
const auto sock = ConnectionService::getSocket();
|
||||
bool IsConn = true;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user