帮我分析一下下面这段代码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-28 10:21:54 浏览: 101
lcm_driver.rar_176*220_lcm_液晶屏 单片机
这段代码是一个函数,名为ncdsPkgInfo,它的参数包括一个指向结构体ncds_ds的指针pDs和一个指向nc_rpc的指针pRpc。函数的作用是从pRpc中获取一些信息,然后根据这些信息对不同的数据模型进行不同的处理。具体来说,函数会先获取pRpc的操作内容,然后去除其中的空格,得到pMatchInfo。之后,函数会根据pDs的数据模型,对pMatchInfo进行不同的匹配,如果匹配成功,则会调用相应的函数进行处理。例如,如果数据模型是"acc-devm",且pMatchInfo中包含"me",则会调用函数packageMeInfo()。最后,函数会释放pRpcInfo和pMatchInfo所占用的内存。
阅读全文