modify for ledgerupdate
This commit is contained in:
@@ -142,6 +142,9 @@ public:
|
||||
char port[64];
|
||||
char timestamp[64];
|
||||
|
||||
//lnk20250210<31><30><EFBFBD>ӽ<EFBFBD><D3BD>̺<EFBFBD>
|
||||
char processNo[64];
|
||||
|
||||
ledger_monitor line[10];
|
||||
|
||||
char count_cfg[64]; //<2F><><EFBFBD><EFBFBD>̨<EFBFBD>˵<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>̨<EFBFBD><CCA8>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -4117,6 +4120,7 @@ void parse_terminal_from_data(trigger_update_xml_t* trigger_update_xml, const st
|
||||
strcpy(work_terminal.dev_type, extract_value(data, "devType").c_str());
|
||||
strcpy(work_terminal.dev_key, extract_value(data, "devKey").c_str());
|
||||
strcpy(work_terminal.dev_series, extract_value(data, "series").c_str());
|
||||
strcpy(work_terminal.processNo, extract_value(data, "processNo").c_str());
|
||||
strcpy(work_terminal.addr_str, extract_value(data, "ip").c_str());
|
||||
strcpy(work_terminal.port, extract_value(data, "port").c_str());
|
||||
strcpy(work_terminal.timestamp, extract_value(data, "updateTime").c_str());
|
||||
@@ -11526,6 +11530,7 @@ void printTerminalDevMap(const QMap<QString, terminal_dev*>& terminal_dev_map) {
|
||||
<< ", Device Type:" << QString(dev->dev_type)
|
||||
<< ", Device Key:" << QString(dev->dev_key)
|
||||
<< ", Device Series:" << QString(dev->dev_series)
|
||||
<< ", Device processNo:" << QString(dev->processNo)
|
||||
<< ", Address:" << QString(dev->addr_str)
|
||||
<< ", Port:" << QString(dev->port)
|
||||
<< ", Timestamp:" << QString(dev->timestamp);
|
||||
@@ -11636,6 +11641,7 @@ void printLedgerinshell(const ied_usr_t& ied_usr, QIODevice* outputDevice) {
|
||||
outputDevice->write("|-- dev_type: " + QByteArray(ied_usr.dev_type) + "\n");
|
||||
outputDevice->write("|-- dev_key: " + QByteArray(ied_usr.dev_key) + "\n");
|
||||
outputDevice->write("|-- dev_series: " + QByteArray(ied_usr.dev_series) + "\n");
|
||||
outputDevice->write("|-- dev_processNo: " + QByteArray(ied_usr.processNo) + "\n");
|
||||
outputDevice->write("|-- dev_flag: " + QByteArray::number(ied_usr.dev_flag) + "\n");
|
||||
|
||||
outputDevice->write("|-- last_call_wavelist_time: " + QByteArray::number(ied_usr.last_call_wavelist_time) + "\n");
|
||||
@@ -11745,6 +11751,28 @@ void ledger(const char* terminal_id, QIODevice* outputDevice) {
|
||||
}
|
||||
pthread_mutex_unlock(&mtx);
|
||||
}
|
||||
|
||||
//lnk20250210<31><30>ӡָ<D3A1><D6B8><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>
|
||||
void value_print(const char *variableName, QTcpSocket *clientSocket) {
|
||||
char buffer[256]; // <20><><EFBFBD>ڴ洢<DAB4><E6B4A2><EFBFBD><EFBFBD>ֵ<EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
// <20><>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>ֵ
|
||||
if (strcmp(variableName, "frontindex") == 0) {
|
||||
sprintf(buffer, "frontindex = %d", g_front_seg_index); // <20><> int ת<><D7AA>Ϊ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
clientSocket->write(buffer); // <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>
|
||||
} else if (strcmp(variableName, "iedcount") == 0) {
|
||||
sprintf(buffer, "g_node->n_clients = %d, ied config count = %d", IED_COUNT);
|
||||
clientSocket->write(buffer);
|
||||
} else if (strcmp(variableName, "frontfun") == 0) {
|
||||
sprintf(buffer, "frontfun = %s", subdir);
|
||||
clientSocket->write(buffer);
|
||||
} else {
|
||||
clientSocket->write("Unknown variable name\n> ");
|
||||
}
|
||||
|
||||
clientSocket->flush();
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// <20><><EFBFBD><EFBFBD> JSON <20>ĺ<EFBFBD><C4BA><EFBFBD> <20><>ǰ<EFBFBD>ö<EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>
|
||||
int terminal_ledger_web(QMap<QString, terminal_dev*>* terminal_dev_map,
|
||||
@@ -11854,6 +11882,7 @@ int terminal_ledger_web(QMap<QString, terminal_dev*>* terminal_dev_map,
|
||||
}
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>index<65><78><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>Ӧ<EFBFBD><D3A6>̨<EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>پ<EFBFBD><D9BE>֣<EFBFBD><D6A3><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>̨<EFBFBD>˲<EFBFBD><CBB2>жϽ<D0B6><CFBD>̺<EFBFBD>
|
||||
#if 0
|
||||
int base_size = 0;
|
||||
int remainder = 0;
|
||||
int start_index = 0;
|
||||
@@ -11873,6 +11902,9 @@ int terminal_ledger_web(QMap<QString, terminal_dev*>* terminal_dev_map,
|
||||
end_index = data_size;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
int start_index = 0;
|
||||
int end_index = data_size;
|
||||
|
||||
// <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Χ<EFBFBD>ڵ<EFBFBD>Ԫ<EFBFBD><D4AA>
|
||||
for (int i = start_index; i < end_index; ++i) {
|
||||
@@ -11930,6 +11962,11 @@ int terminal_ledger_web(QMap<QString, terminal_dev*>* terminal_dev_map,
|
||||
if (series && series->type == cJSON_String) strncpy(dev->dev_series, series->valuestring, sizeof(dev->dev_series) - 1);
|
||||
else strncpy(dev->dev_series, "N/A", sizeof(dev->dev_series) - 1);
|
||||
|
||||
//lnk20250210̨<30>˽<EFBFBD><CBBD>̺<EFBFBD>
|
||||
cJSON* processNo = cJSON_GetObjectItem(item, "processNo"); // processNoתΪ<D7AA>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
if (processNo && processNo->type == cJSON_Number) snprintf(dev->processNo, sizeof(dev->processNo), "%d", processNo->valueint);
|
||||
else strncpy(dev->processNo, "N/A", sizeof(dev->processNo) - 1);
|
||||
|
||||
cJSON* port = cJSON_GetObjectItem(item, "port"); // port
|
||||
if (port && port->type == cJSON_String) strncpy(dev->port, port->valuestring, sizeof(dev->port) - 1);
|
||||
else strncpy(dev->port, "N/A", sizeof(dev->port) - 1);
|
||||
@@ -11992,10 +12029,16 @@ int terminal_ledger_web(QMap<QString, terminal_dev*>* terminal_dev_map,
|
||||
terminal_dev_map->remove(key);
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD> terminal_dev <20><><EFBFBD><EFBFBD>
|
||||
terminal_dev_map->insert(key, dev);//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊֻ<EFBFBD>н<EFBFBD><EFBFBD>̺<EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>index<EFBFBD><EFBFBD>¼<EFBFBD>뵱ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(atoi(dev->processNo) == g_front_seg_index){//lnk20250210ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
std::cout<< "process num match" << std::endl;
|
||||
terminal_dev_map->insert(key, dev);}//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊֻ<CEAA>н<EFBFBD><D0BD>̺<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>index<65><78>¼<EFBFBD>뵱ǰ<EBB5B1><C7B0><EFBFBD><EFBFBD>
|
||||
} else {
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD> terminal_dev <20><><EFBFBD><EFBFBD>
|
||||
terminal_dev_map->insert(key, dev);//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊֻ<EFBFBD>н<EFBFBD><EFBFBD>̺<EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>index<EFBFBD><EFBFBD>¼<EFBFBD>뵱ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(atoi(dev->processNo) == g_front_seg_index){//lnk20250210ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
std::cout<< "process num match" << std::endl;
|
||||
terminal_dev_map->insert(key, dev);}//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊֻ<CEAA>н<EFBFBD><D0BD>̺<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>index<65><78>¼<EFBFBD>뵱ǰ<EBB5B1><C7B0><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//std::cout << "i = " << i << std::endl;
|
||||
//std::cout << "terminal_dev_map.size:" << terminal_dev_map->size() << std::endl;
|
||||
@@ -12186,6 +12229,10 @@ int parse_device_cfg_web()
|
||||
char dev_series[255];
|
||||
char addr_str[64];
|
||||
char port_char[64];
|
||||
|
||||
//lnk20250210<31><30><EFBFBD>ӽ<EFBFBD><D3BD>̺<EFBFBD>
|
||||
char processNo[64];
|
||||
|
||||
otl_datetime timestamp;
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -12208,6 +12255,7 @@ int parse_device_cfg_web()
|
||||
strncpy(dev_series, value->dev_series, sizeof(dev_series) - 1);
|
||||
strncpy(addr_str, value->addr_str, sizeof(addr_str) - 1);
|
||||
strncpy(port_char, value->port, sizeof(port_char) - 1);
|
||||
strncpy(processNo, value->processNo, sizeof(processNo) - 1);//<2F><><EFBFBD>̺<EFBFBD>
|
||||
timestamp = parseTimestamp(value->timestamp);
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD>̨<EFBFBD><CCA8>
|
||||
@@ -12270,6 +12318,13 @@ int parse_device_cfg_web()
|
||||
apr_snprintf(ied_usr->dev_type, sizeof(ied_usr->dev_type), "%s", dev_type);//dev_type
|
||||
cout << "ied_usr->dev_type:" << ied_usr->dev_type << endl;
|
||||
}
|
||||
|
||||
//lnk20250210̨<30>˽<EFBFBD><CBBD>̺<EFBFBD>
|
||||
if (processNo != NULL) {
|
||||
apr_snprintf(ied_usr->processNo, sizeof(ied_usr->processNo), "%s", processNo);//processNo
|
||||
cout << "ied_usr->processNo:" << ied_usr->processNo << endl;
|
||||
}
|
||||
|
||||
if (dev_series != NULL) {
|
||||
apr_snprintf(ied_usr->dev_series, sizeof(ied_usr->dev_series), "%s", dev_series);//DEV_Series
|
||||
cout << "defalut dev_series:" << ied_usr->dev_series << endl;
|
||||
@@ -14454,18 +14509,11 @@ int parse_rpt_log_ini_one(ied_t* ied)
|
||||
|
||||
} else {//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>滻<EFBFBD><E6BBBB><EFBFBD><EFBFBD>ԭ<EFBFBD>пռ<D0BF><D5BC>ϸ<EFBFBD><CFB8><EFBFBD>
|
||||
|
||||
//lnk20250208<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
std::cout << "cpuno:" << cpuno << "apr_cpystrn" <<std::endl;
|
||||
|
||||
// ȷ<><C8B7>Ŀ<EFBFBD>껺<EFBFBD><EABBBA><EFBFBD><EFBFBD><EFBFBD>㹻<EFBFBD><E3B9BB>
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
std::cout << "strlen(str):" << strlen(str) << "strlen(ied_usr->LD_info[cpuno].LD_name)" << strlen(ied_usr->LD_info[cpuno].LD_name) <<std::endl;
|
||||
|
||||
if (strlen(str) < strlen(ied_usr->LD_info[cpuno].LD_name)) {
|
||||
apr_cpystrn(ied_usr->LD_info[cpuno].LD_name, str, 256);
|
||||
} else {
|
||||
std::cerr << "Error: target buffer is too small." << std::endl;
|
||||
// <20><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
||||
}
|
||||
apr_cpystrn(ied_usr->LD_info[cpuno].LD_name, str, 256);//apr_palloc ֻ<>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>̶<EFBFBD><CCB6><EFBFBD>С<EFBFBD><D0A1><EFBFBD>ڴ<EFBFBD><DAB4>飬<EFBFBD><E9A3AC>û<EFBFBD><C3BB><EFBFBD>ṩֱ<E1B9A9>ӵĻ<D3B5><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٻ<EFBFBD><D9BB><EFBFBD>֤<EFBFBD><D6A4><EFBFBD>Ŀռ<C4BF><D5BC>Ƿ<EFBFBD><C7B7>ѱ<EFBFBD>ʹ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>䵽<EFBFBD><E4B5BD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>ֱ<EFBFBD>Ӹ<EFBFBD><D3B8>Ǽ<EFBFBD><C7BC><EFBFBD>
|
||||
|
||||
}
|
||||
|
||||
delete[] tmp;//Get_IED<45>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ棬ʹ<E6A3AC>ú<EFBFBD>ɾ<EFBFBD><C9BE>
|
||||
|
||||
Reference in New Issue
Block a user