1) 入口的调用: 在cwmp_rpc_scheduleinform.c 中将调用函数 cwmp_scheduleInform 函数,并且把从schedule inform 获取的参数传给这个函数。
PUBLIC mbus_e_error cwmp_scheduleInform_add(int delaySeconds, char* commandKey)
2) 出口的调用:
在cwmp_rpc_inform.c中将确认是否为scheduleEvent, 如果是将调用函数cwmp_scheduleInform_printEvents, 次函数在cwmp_scheduleinform.c里面。
这个函数将调用cwmp_scheduleInform_print函数, 然后调用 error = cwmp_printEventDomNode(
daemon->stream,
"3 SCHEDULED",
dynstr_getstring(cmddata->value) +
sizeof(cwmp_scheduleInform_friendlyNamePrefix) - 1);
来完成cmdkey的填充。
if(!error && cwmp_InformEvent_isScheduledEvent(&(daemon- >onlActiveNotif)))
error = cwmp_scheduleInform_printEvents();
3) 接口函数的定义:
PUBLIC mbus_e_error cwmp_scheduleInform_add(int delaySeconds, char* commandKey)
调用流程:
cwmp_schedule_sendResponse --> cwmp_schedule_add -->cwmp_scheduleInform_add
a) 需要实现的函数: cwmp_scheduleInform_addToToL(int delaySeconds, char* commandKey);
此函数将把当前schedule 的参数加入到等待队列中。
b) 需要实现一个 triger 函数来完成schedule inform 的triger.
void cwmp_ToLTriger(); 次函数主要调用cwmp_InformEvent_setScheduledEvent(&(daemon->offlActiveNotif), TRUE);
来完成 triger
c) 需要实现一个回调函数,来删除已经 triger 的 schedule.
int cwmp_GetCurToLScheduleInfo(char* cmdkey);
d) 需要修改PUBLIC void cwmp_scheduleInform_init(), 来创建ToL 对象。
阅读(1162) | 评论(0) | 转发(0) |