modify for ledgerupdate

This commit is contained in:
lnk
2025-01-23 16:32:26 +08:00
parent acd2b65852
commit 5795542cb9
2 changed files with 247 additions and 13 deletions

View File

@@ -14481,6 +14481,239 @@ apr_status_t init_rem_dib_table_one(ied_t *ied)
} }
return APR_SUCCESS; return APR_SUCCESS;
} }
///////////////////////////////////////////////////////////////////////////////////////////////////<2F><><EFBFBD><EFBFBD>ied
void clearLogInfo(loginfo_t *loginfo) {
if (loginfo == nullptr) {
return; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>Ϊ<EFBFBD>գ<EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD>
}
// <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>
memset(loginfo->logName, 0, sizeof(loginfo->logName));
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ա
loginfo->IntgPd = 0;
loginfo->reasonCode = 0;
loginfo->TrgOpt = 0;
loginfo->start_time = 0;
loginfo->end_time = 0;
loginfo->need_steady = 0;
loginfo->need_voltage = 0;
// <20><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ڴ<EFBFBD>
if (loginfo->lcbName != nullptr) {
memset(loginfo->lcbName, 0, strlen(loginfo->lcbName)); // <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
if (loginfo->datasetName != nullptr) {
memset(loginfo->datasetName, 0, strlen(loginfo->datasetName)); // <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD> LD_info <20><>ָ<EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ָ<EFBFBD><D6B8><EFBFBD>ϼ<EFBFBD>
}
void clearRptInfo(rptinfo_t *rptinfo) {
if (rptinfo == nullptr) {
return; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>Ϊ<EFBFBD>գ<EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD>
}
// <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ա
memset(rptinfo->OptFlds, 0, sizeof(rptinfo->OptFlds));
rptinfo->IntgPd = 0;
rptinfo->report_PQ_type = 0;
rptinfo->rpt_registered = 0;
rptinfo->chnl_id = 0;
rptinfo->m_LastDataTime = 0;
rptinfo->m_LastGITime = 0;
rptinfo->m_LastRegisterFailedTime = 0;
rptinfo->m_LastUnRegisterFailedTime = 0;
memset(rptinfo->m_EntryID, 0, sizeof(rptinfo->m_EntryID));
rptinfo->m_curRptSuffix = 0;
rptinfo->count = 0;
rptinfo->rptNo = 0;
rptinfo->flickerflag = 0;
rptinfo->pstflag = 0;
// <20><>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ڴ<EFBFBD>
if (rptinfo->rptID != nullptr) {
memset(rptinfo->rptID, 0, strlen(rptinfo->rptID)); // <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD> LD_info <20><>ָ<EFBFBD><EFBFBD><EBA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>򸸼<EFBFBD>
//rptinfo->LD_info = nullptr;
// <20><> RCBC_INFO <20><EFBFBD><E1B9B9>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B2BB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
if (rptinfo->m_rcb_info != nullptr) {
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B9B9><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ڴ<EFBFBD>
rptinfo->m_rcb_info = nullptr;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>գ<EFBFBD><D5A3><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>ر<EFBFBD>ʱ<EFBFBD><EFBFBD><E1B1BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
void clearLDInfo(LD_info_t *ld_info) {
if (ld_info == nullptr) {
std::cout << "ldinfo is null" << std::endl;
return;
}
// <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ա
if (ld_info->loginfo != nullptr) {
for (int i = 0; i < ld_info->logcount; ++i) {
if (ld_info->loginfo[i] != nullptr) {
clearLogInfold_info->loginfo[i]); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD>ƿ<EFBFBD>
}
}
}
std::cout << "clean loginfo_t!!!" << std::endl;
if (ld_info->autorecall != nullptr) {
for (int i = 0; i < ld_info->autorecallcount; ++i) {
if (ld_info->autorecall[i] != nullptr) {
memset(ld_info->autorecall[i], 0, sizeof(autorecall_t));
delete ld_info->autorecall[i]; //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ؿռ<D8BF>
}
}
delete ld_info->autorecall; //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>
}
std::cout << "clean autorecall_t!!!" << std::endl;
if (ld_info->rptinfo != nullptr) {
for (int i = 0; i < ld_info->rptcount; ++i) {
if (ld_info->rptinfo[i] != nullptr) {
memset(ld_info->rptinfo[i], 0, sizeof(rptinfo_t));
}
}
}
std::cout << "clean rptinfo_t!!!" << std::endl;
if (ld_info->ht_fcd != nullptr) {
apr_hash_clear(ld_info->ht_fcd);
}
if (ld_info->ht_full_fcda != nullptr) {
apr_hash_clear(ld_info->ht_full_fcda);
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ա
if (ld_info->LD_name != nullptr) {
memset(ld_info->LD_name, 0, sizeof(char) * 256);
}
if (ld_info->mp_id != nullptr) {
memset(ld_info->mp_id, 0, sizeof(char) * 256);
}
if (ld_info->voltage_level != nullptr) {
memset(ld_info->voltage_level, 0, sizeof(char) * 256);
}
if (ld_info->v_wiring_type != nullptr) {
memset(ld_info->v_wiring_type, 0, sizeof(char) * 256);
}
if (ld_info->monitor_status != nullptr) {
memset(ld_info->monitor_status, 0, sizeof(char) * 64);
}
if (ld_info->terminal_code != nullptr) {
memset(ld_info->terminal_code, 0, sizeof(char) * 256);
}
// <20><><EFBFBD><EFBFBD> LD_info_t <20><EFBFBD><E1B9B9><EFBFBD>еķ<D0B5>ָ<EFBFBD>벿<EFBFBD><EBB2BF>
ld_info->rptcount = 0;
ld_info->read_flag = 0;
ld_info->logcount = 0;
ld_info->autorecallflag = 0;
ld_info->autorecallcount = 0;
ld_info->line_id = 0;
ld_info->real_data = 0;
ld_info->soe_data = 0;
ld_info->limit = 0;
ld_info->count = 0;
ld_info->SubV_Index = 0;
ld_info->Dev_Index = 0;
ld_info->Sub_Index = 0;
ld_info->GD_Index = 0;
ld_info->RDRE_FltNum = 0;
}
void clearIedUsr(ied_usr_t *ied_usr) {
if (ied_usr == nullptr) {
std::cout << "ied_usr is null" << std::endl;
return;
}
// <20><><EFBFBD><EFBFBD> ied_usr_t <20>еķ<D0B5>ָ<EFBFBD>벿<EFBFBD><EBB2BF>
//ied_usr->dev_idx = 0;//<2F><><EFBFBD><EFBFBD>index
ied_usr->dev_flag = UNUSED;
ied_usr->last_call_wavelist_time = 0;
ied_usr->time = 0;
ied_usr->update_flag = 0;//<2F>ݲ<EFBFBD>ʹ<EFBFBD><CAB9>
// <20><><EFBFBD><EFBFBD>ָ<EFBFBD>벿<EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>ָ<EFBFBD><D6B8>
if (ied_usr->LD_info != nullptr) {
// <20><><EFBFBD><EFBFBD> LD_info <20><>Ϊ<EFBFBD>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for (int i = 0; i < MAX_CPUNO; ++i) {
if (ied_usr->LD_info[i] != nullptr) {
clearLDInfo(ied_usr->LD_info[i]);
}
}
}
if (ied_usr->cookie != nullptr) {
std::cout << "cookie not null" << std::endl;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>벿<EFBFBD><EBB2BF>
memset(ied_usr->dev_type, 0, sizeof(ied_usr->dev_type));
memset(ied_usr->dev_key, 0, sizeof(ied_usr->dev_key));
memset(ied_usr->dev_series, 0, sizeof(ied_usr->dev_series));
memset(ied_usr->terminal_id, 0, sizeof(ied_usr->terminal_id));
memset(ied_usr->org_name, 0, sizeof(ied_usr->org_name));
memset(ied_usr->maint_name, 0, sizeof(ied_usr->maint_name));
memset(ied_usr->station_name, 0, sizeof(ied_usr->station_name));
memset(ied_usr->tmnl_factory, 0, sizeof(ied_usr->tmnl_factory));
memset(ied_usr->tmnl_status, 0, sizeof(ied_usr->tmnl_status));
memset(ied_usr->terminal_code, 0, sizeof(ied_usr->terminal_code));
}
void clearIed(ied_t *ied) {
if (ied == nullptr) {
return;
}
// <20><><EFBFBD><EFBFBD> channel <20><><EFBFBD><EFBFBD> chnl_usr_t <20><><EFBFBD><EFBFBD>
if (ied->channel != nullptr && ied->channel[0].connect != nullptr) {
chnl_usr_t *chnl_usr = (chnl_usr_t*)ied->channel[0].connect;
memset(chnl_usr, 0, sizeof(chnl_usr_t));
chnl_usr->chnl_id = 0;
chnl_usr->m_state = CHANNEL_DISCONNECTED;
chnl_usr->m_ClosedMsTime = NEXT_CONNECT_TIME * (-1);
}
// <20><><EFBFBD><EFBFBD> ied_t <20><EFBFBD><E1B9B9><EFBFBD>ķ<EFBFBD>ָ<EFBFBD>벿<EFBFBD><EBB2BF>
ied->id = 0;
ied->flags = 0;
ied->type = 0;
ied->chncount = 0;
ied->cpucount = 0;
ied->station = 0;
ied->node = 0;
ied->frequency = 0;
ied->delay = 0;
ied->count = 0;
ied->systoken_st = 0;
ied->index = 0;
ied->status = {0}; // <20><><EFBFBD><EFBFBD> status_t <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ied->last_ticks = 0;
ied->last_gi = 0;
// <20><><EFBFBD><EFBFBD>ָ<EFBFBD>벿<EFBFBD><EBB2BF>
if (ied->usr_ext != nullptr) {
ied_usr_t *ied_usr = (ied_usr_t*)ied->usr_ext;
clearIedUsr(ied_usr);
}
memset(ied->name, 0, sizeof(ied->name));
memset(ied->channel, 0, sizeof(ied->channel));
memset(ied->cpuinfo, 0, sizeof(ied->cpuinfo)); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
/*<2A><>װC<D7B0>ɵ<EFBFBD><C9B5>õ<EFBFBD>̨<EFBFBD>˸<EFBFBD><CBB8>º<EFBFBD><C2BA><EFBFBD> *///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /*<2A><>װC<D7B0>ɵ<EFBFBD><C9B5>õ<EFBFBD>̨<EFBFBD>˸<EFBFBD><CBB8>º<EFBFBD><C2BA><EFBFBD> */////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@@ -843,7 +843,7 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
for (i=0; i<update_num; i++){ //<2F><EFBFBD><E9BFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8> for (i=0; i<update_num; i++){ //<2F><EFBFBD><E9BFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8>
new_in_work_found = FALSE; new_in_work_found = FALSE;
if(update[i].terminal_id != NULL){ if(update[i].terminal_id != NULL){
printf(" ledger of %s\n",update[i].terminal_id); printf("add ledger of %s\n",update[i].terminal_id);
ied = find_ied_from_terminal_id(update[i].terminal_id); //ͨ<><CDA8><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD><D0B5>ն˺<D5B6><CBBA>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>õ<EFBFBD><C3B5> ied = find_ied_from_terminal_id(update[i].terminal_id); //ͨ<><CDA8><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD><D0B5>ն˺<D5B6><CBBA>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>õ<EFBFBD><C3B5>
if (ied){ if (ied){
printf("find ied by terminal_id, terminal already exsist\n"); printf("find ied by terminal_id, terminal already exsist\n");
@@ -937,7 +937,7 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
ied_usr->dev_flag = ENABLE;//<2F>ն<EFBFBD><D5B6><EFBFBD>Ч ied_usr->dev_flag = ENABLE;//<2F>ն<EFBFBD><D5B6><EFBFBD>Ч
ied->chncount = 1; //ͨ<>Ŷ˿<C5B6><CBBF><EFBFBD> ied->chncount = 1; //ͨ<>Ŷ˿<C5B6><CBBF><EFBFBD>,һ<><D2BB><EFBFBD>ն<EFBFBD>һ<EFBFBD><D2BB>ֻ<EFBFBD><D6BB>һ<EFBFBD><D2BB>
ied->channel = (channel_t*)apr_pcalloc(g_cfg_pool, sizeof(channel_t) * ied->chncount);//<2F>ڴ<EFBFBD><DAB4>ҵ<EFBFBD>ied<65><64> ied->channel = (channel_t*)apr_pcalloc(g_cfg_pool, sizeof(channel_t) * ied->chncount);//<2F>ڴ<EFBFBD><DAB4>ҵ<EFBFBD>ied<65><64>
ied->channel[0].ied = ied; //ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ied->channel[0].ied = ied; //ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ied->channel[0].status = STATUS_BREAKOFF;//<2F><>ʼ<EFBFBD><CABC>Ϊͨ<CEAA><CDA8><EFBFBD>ж<EFBFBD> ied->channel[0].status = STATUS_BREAKOFF;//<2F><>ʼ<EFBFBD><CABC>Ϊͨ<CEAA><CDA8><EFBFBD>ж<EFBFBD>
@@ -994,7 +994,7 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
for (i=0; i<update_num; i++){ //<2F><EFBFBD><E9BFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8> for (i=0; i<update_num; i++){ //<2F><EFBFBD><E9BFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8>
new_in_work_found = FALSE; new_in_work_found = FALSE;
if(update[i].terminal_id != NULL){ if(update[i].terminal_id != NULL){
printf(" ledger of %s\n",update[i].terminal_id); printf("modify ledger of %s\n",update[i].terminal_id);
ied = find_ied_from_terminal_id(update[i].terminal_id); //ͨ<><CDA8><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD><D0B5>ն˺<D5B6><CBBA>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>õ<EFBFBD><C3B5> ied = find_ied_from_terminal_id(update[i].terminal_id); //ͨ<><CDA8><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD><D0B5>ն˺<D5B6><CBBA>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>õ<EFBFBD><C3B5>
if (ied){ if (ied){
printf("find ied by terminal_id, terminal already exsist\n"); printf("find ied by terminal_id, terminal already exsist\n");
@@ -1058,13 +1058,15 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
} }
} }
///////////////////////////////////////////////////////////////////////////////delete ///////////////////////////////////////////////////////////////////////////////delete
update = ledger_update_xml->delete_updates; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD> update = ledger_update_xml->delete_updates; //<2F><><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>̨<EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD>
update_num = ledger_update_xml->delete_update_num; update_num = ledger_update_xml->delete_update_num;
printf("delete ledger num:%d\n",update_num); printf("delete ledger num:%d\n",update_num);
for (i=0; i<update_num; i++){ //<2F><EFBFBD><E9BFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8>
new_in_work_found = FALSE; for (i=0; i<update_num; i++){ //<2F><EFBFBD><E9BFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>̨<EFBFBD><CCA8>
if(update[i].terminal_id != NULL){ new_in_work_found = FALSE; //<2F>ҵ<EFBFBD><D2B5>ִ<EFBFBD>̨<EFBFBD>˵ı<CBB5>־
printf(" ledger of %s\n",update[i].terminal_id); if(update[i].terminal_id != NULL){ //<2F><><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD>̨<EFBFBD><CCA8>
printf("delete ledger of %s\n",update[i].terminal_id);
ied = find_ied_from_terminal_id(update[i].terminal_id); //ͨ<><CDA8><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD><D0B5>ն˺<D5B6><CBBA>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>õ<EFBFBD><C3B5> ied = find_ied_from_terminal_id(update[i].terminal_id); //ͨ<><CDA8><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD><D0B5>ն˺<D5B6><CBBA>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD>õ<EFBFBD><C3B5>
if (ied){ if (ied){
printf("find ied by terminal_id, terminal already exsist\n"); printf("find ied by terminal_id, terminal already exsist\n");
@@ -1073,7 +1075,7 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
//<2F>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն˵<D5B6><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>////////////////////////////////////////////////////////////////////// //<2F>ر<EFBFBD><D8B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն˵<D5B6><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>//////////////////////////////////////////////////////////////////////
for(chnl_no=0 ; chnl_no<ied->chncount; chnl_no++) { for(chnl_no=0 ; chnl_no<ied->chncount; chnl_no++) {
chnl_usr = (chnl_usr_t*)ied->channel[chnl_no].connect; chnl_usr = (chnl_usr_t*)ied->channel[chnl_no].connect;
if (chnl_usr->m_state!=CHANNEL_CONNECTED){ //<2F><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ӵ<EFBFBD> if (chnl_usr->m_state!=CHANNEL_CONNECTED){ //<2F><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ӵ<EFBFBD>ͨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD>ֻ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
continue; continue;
} }
closeChannel(chnl_usr);//<2F>رո<D8B1><D5B8><EFBFBD>̨<EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD> closeChannel(chnl_usr);//<2F>رո<D8B1><D5B8><EFBFBD>̨<EFBFBD>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
@@ -1097,7 +1099,6 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
} }
} }
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD> ied <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD> ied <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ied_t* ied_to_remove = g_node->clients[index_to_remove];//ָ<><D6B8>g_node<64><65>Ӧ<EFBFBD><D3A6><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD> ied_t* ied_to_remove = g_node->clients[index_to_remove];//ָ<><D6B8>g_node<64><65>Ӧ<EFBFBD><D3A6><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>
@@ -1105,16 +1106,16 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
printf("this ied is ied_to_remove\n"); printf("this ied is ied_to_remove\n");
} }
//<2F><><EFBFBD><EFBFBD>ied<65><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//3-ɾ<><C9BE>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/////////////////////////////////// //3-ɾ<><C9BE>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>///////////////////////////////////
//4-<2D><><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>ļ<EFBFBD>////////////////////////////// //4-<2D><><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>ļ<EFBFBD>//////////////////////////////
//ӳ<><D3B3><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD> //ӳ<><D3B3><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ied<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD>
//4-<2D><><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>ļ<EFBFBD>/////////////////////////////////// //4-<2D><><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>ļ<EFBFBD>///////////////////////////////////
//5-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>////////////////////////////// //5-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>//////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//5-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/////////////////////////////////// //5-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>///////////////////////////////////
//6-init_rem_dib_table////////////////////////////// //6-init_rem_dib_table//////////////////////////////