分析一下下面这段代码的作用:UINT32 gNcdsInfoInit = 0; void ncdsPkgInfo(struct ncds_ds* pDs,const nc_rpc* pRpc) { char *pRpcInfo = NULL; char *pMatchInfo = NULL; char *pRpcInfoTmp = NULL; pRpcInfo = nc_rpc_get_op_content(pRpc); pRpcInfoTmp = pRpcInfo; pMatchInfo = nc_clrwspace(pRpcInfoTmp); VERB("%s/%d pkt info %s",__func__,__LINE__,pMatchInfo); if (!xmlStrncmp(pDs->data_model->name, "acc-alarms", xmlStrlen("acc-alarms"))) { if (NULL != strstr(pMatchInfo,"tca-parameters")) { packageTcaPmInfo(); } } if (!xmlStrncmp(pDs->data_model->name, "acc-devm", xmlStrlen("acc-devm"))) { if (NULL != strstr(pMatchInfo,"me")) { VERB("%s/%d pkt me info====================",__func__,__LINE__); packageMeInfo(); } if (NULL != strstr(pMatchInfo,"ptps")) { VERB("%s/%d pkt ptps info====================",__func__,__LINE__); packagePtpsInfo(); } if (NULL != strstr(pMatchInfo,"eqs")) { VERB("%s/%d pkt eqs info====================",__func__,__LINE__); packageEqsInfo(); } if (NULL != strstr(pMatchInfo,"mc-ports")) { VERB("%s/%d pkt eqs info====================",__func__,__LINE__); packageMcPortInfo(); } } if (!xmlStrncmp(pDs->data_model->name, "acc-performance", xmlStrlen("acc-performance"))) { if (NULL != strstr(pMatchInfo,"performances")) { //packageOptInfoInit(); ncdsFileDelAllPm(pDs); packageIfStatisInfoInit(); packageOptInfoInit(); } } free(pRpcInfo); free(pMatchInfo); }
时间: 2024-04-27 07:23:37 浏览: 119
lcm_driver.rar_176*220_lcm_液晶屏 单片机
这段代码定义了一个全局变量gNcdsInfoInit,并定义了一个名为ncdsPkgInfo的函数。该函数的作用是处理来自nc_rpc结构体的信息,并根据数据模型名和信息内容调用不同的函数进行处理。如果数据模型名为"acc-alarms",并且信息内容中包含"tca-parameters",则调用函数packageTcaPmInfo();如果数据模型名为"acc-devm",则根据信息内容中不同的关键字调用不同的函数进行处理。如果数据模型名为"acc-performance",并且信息内容中包含"performances",则分别调用ncdsFileDelAllPm()、packageIfStatisInfoInit()和packageOptInfoInit()函数进行处理。最后释放pRpcInfo和pMatchInfo指向的内存空间。
阅读全文