mirror of
https://dev.iopsys.eu/bbf/icwmp.git
synced 2025-12-10 07:44:41 +01:00
Compile option to select SMM functionality
This commit is contained in:
parent
e0fde6e913
commit
4339ef5be0
9 changed files with 82 additions and 29 deletions
|
|
@ -31,9 +31,11 @@ struct autonomous_event {
|
|||
char name[2048];
|
||||
};
|
||||
|
||||
static void free_autonomous_du_state_change_complete_data(auto_du_state_change_compl *p);
|
||||
static void free_autonomous_transfer_complete_data(auto_transfer_complete *p);
|
||||
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
static void free_autonomous_du_state_change_complete_data(auto_du_state_change_compl *p);
|
||||
|
||||
static bool validate_du_state_change_data(auto_du_state_change_compl *data)
|
||||
{
|
||||
|
||||
|
|
@ -173,6 +175,7 @@ static void send_du_state_change_notif(struct blob_attr *msg)
|
|||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
bool validate_transfer_complete_data(auto_transfer_complete *data)
|
||||
{
|
||||
|
|
@ -283,7 +286,9 @@ static void send_transfer_complete_notif(struct blob_attr *msg)
|
|||
}
|
||||
|
||||
static struct autonomous_event event_info[] = {
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
{ send_du_state_change_notif, "Device.SoftwareModules.DUStateChange!" },
|
||||
#endif
|
||||
{ send_transfer_complete_notif, "Device.LocalAgent.TransferComplete!" }
|
||||
};
|
||||
|
||||
|
|
@ -323,6 +328,7 @@ void autonomous_notification_handler(struct ubus_context *ctx __attribute__((unu
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
void free_autonomous_du_state_change_complete_data(auto_du_state_change_compl *p)
|
||||
{
|
||||
if (p == NULL)
|
||||
|
|
@ -336,6 +342,7 @@ void free_autonomous_du_state_change_complete_data(auto_du_state_change_compl *p
|
|||
FREE(p->operation);
|
||||
FREE(p);
|
||||
}
|
||||
#endif
|
||||
|
||||
void free_autonomous_transfer_complete_data(auto_transfer_complete *p)
|
||||
{
|
||||
|
|
@ -350,6 +357,8 @@ void free_autonomous_transfer_complete_data(auto_transfer_complete *p)
|
|||
FREE(p->target_file_name);
|
||||
FREE(p);
|
||||
}
|
||||
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
int cwmp_rpc_acs_destroy_data_autonomous_du_state_change_complete(struct rpc *rpc)
|
||||
{
|
||||
if (rpc == NULL)
|
||||
|
|
@ -363,6 +372,7 @@ int cwmp_rpc_acs_destroy_data_autonomous_du_state_change_complete(struct rpc *rp
|
|||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int cwmp_rpc_acs_destroy_data_autonomous_transfer_complete(struct rpc *rpc)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -591,6 +591,7 @@ static void load_upload(mxml_node_t *tree)
|
|||
cwmp_set_end_session(END_SESSION_UPLOAD);
|
||||
}
|
||||
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
static void load_change_du_state(mxml_node_t *tree)
|
||||
{
|
||||
if (tree == NULL) {
|
||||
|
|
@ -630,27 +631,6 @@ void load_du_state_change_complete(mxml_node_t *tree)
|
|||
cwmp_root_cause_changedustate_complete(du_state_change_complete_request);
|
||||
}
|
||||
|
||||
static void load_transfer_complete(mxml_node_t *tree)
|
||||
{
|
||||
struct transfer_complete *ptransfer_complete;
|
||||
|
||||
ptransfer_complete = calloc(1, sizeof(struct transfer_complete));
|
||||
|
||||
struct xml_data_struct bkp_xml_transfer_complete = {0};
|
||||
bkp_xml_transfer_complete.command_key = &ptransfer_complete->command_key;
|
||||
bkp_xml_transfer_complete.start_time = &ptransfer_complete->start_time;
|
||||
bkp_xml_transfer_complete.complete_time = &ptransfer_complete->complete_time;
|
||||
bkp_xml_transfer_complete.old_software_version = &ptransfer_complete->old_software_version;
|
||||
bkp_xml_transfer_complete.fault_code = &ptransfer_complete->fault_code;
|
||||
bkp_xml_transfer_complete.fault_string = &ptransfer_complete->fault_string;
|
||||
bkp_xml_transfer_complete.type = &ptransfer_complete->type;
|
||||
|
||||
load_xml_node_data(BKP_TRANSFER_COMPLETE, tree, &bkp_xml_transfer_complete);
|
||||
|
||||
cwmp_root_cause_transfer_complete(ptransfer_complete);
|
||||
sotfware_version_value_change(ptransfer_complete);
|
||||
}
|
||||
|
||||
static void load_autonomous_du_state_change_complete(mxml_node_t *tree)
|
||||
{
|
||||
auto_du_state_change_compl *p;
|
||||
|
|
@ -672,6 +652,28 @@ static void load_autonomous_du_state_change_complete(mxml_node_t *tree)
|
|||
|
||||
cwmp_root_cause_autonomous_cdu_complete(p);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void load_transfer_complete(mxml_node_t *tree)
|
||||
{
|
||||
struct transfer_complete *ptransfer_complete;
|
||||
|
||||
ptransfer_complete = calloc(1, sizeof(struct transfer_complete));
|
||||
|
||||
struct xml_data_struct bkp_xml_transfer_complete = {0};
|
||||
bkp_xml_transfer_complete.command_key = &ptransfer_complete->command_key;
|
||||
bkp_xml_transfer_complete.start_time = &ptransfer_complete->start_time;
|
||||
bkp_xml_transfer_complete.complete_time = &ptransfer_complete->complete_time;
|
||||
bkp_xml_transfer_complete.old_software_version = &ptransfer_complete->old_software_version;
|
||||
bkp_xml_transfer_complete.fault_code = &ptransfer_complete->fault_code;
|
||||
bkp_xml_transfer_complete.fault_string = &ptransfer_complete->fault_string;
|
||||
bkp_xml_transfer_complete.type = &ptransfer_complete->type;
|
||||
|
||||
load_xml_node_data(BKP_TRANSFER_COMPLETE, tree, &bkp_xml_transfer_complete);
|
||||
|
||||
cwmp_root_cause_transfer_complete(ptransfer_complete);
|
||||
sotfware_version_value_change(ptransfer_complete);
|
||||
}
|
||||
|
||||
static void load_autonomous_transfer_complete(mxml_node_t *tree)
|
||||
{
|
||||
|
|
@ -739,14 +741,16 @@ int cwmp_load_saved_session(char **ret, enum backup_loading load)
|
|||
load_transfer_complete(b);
|
||||
} else if (ntype == MXML_ELEMENT && CWMP_STRCMP(elem_name, "schedule_inform") == 0) {
|
||||
load_schedule_inform(b);
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
} else if (ntype == MXML_ELEMENT && CWMP_STRCMP(elem_name, "change_du_state") == 0) {
|
||||
load_change_du_state(b);
|
||||
} else if (ntype == MXML_ELEMENT && CWMP_STRCMP(elem_name, "du_state_change_complete") == 0) {
|
||||
load_du_state_change_complete(b);
|
||||
} else if (ntype == MXML_ELEMENT && CWMP_STRCMP(elem_name, "schedule_download") == 0) {
|
||||
load_schedule_download(b);
|
||||
} else if (ntype == MXML_ELEMENT && CWMP_STRCMP(elem_name, "autonomous_du_state_change_complete") == 0) {
|
||||
load_autonomous_du_state_change_complete(b);
|
||||
#endif
|
||||
} else if (ntype == MXML_ELEMENT && CWMP_STRCMP(elem_name, "schedule_download") == 0) {
|
||||
load_schedule_download(b);
|
||||
} else if (ntype == MXML_ELEMENT && CWMP_STRCMP(elem_name, "autonomous_transfer_complete") == 0) {
|
||||
load_autonomous_transfer_complete(b);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -272,7 +272,9 @@ void cwmp_exit()
|
|||
uloop_timeout_cancel(&heartbeat_session_timer);
|
||||
clean_autonomous_complpolicy();
|
||||
clean_interface_update();
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
clean_du_uuid_list();
|
||||
#endif
|
||||
clean_force_inform_list();
|
||||
FREE(cwmp_ctx.ev);
|
||||
FREE(cwmp_ctx.intf_ev);
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
#include <libubox/blobmsg_json.h>
|
||||
#include <stdlib.h>
|
||||
#include <regex.h>
|
||||
|
|
@ -804,3 +805,4 @@ void clean_du_uuid_list(void)
|
|||
free(tmp);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
#ifndef CWMP_DU_STATE_H
|
||||
#define CWMP_DU_STATE_H
|
||||
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
#include "common.h"
|
||||
|
||||
#define CDU_TIMEOUT 86400 //24 hours
|
||||
|
|
@ -25,4 +26,6 @@ void apply_change_du_state();
|
|||
void remove_node_from_uuid_list(const char *uuid, const char *operation);
|
||||
bool exists_in_uuid_list(char *uuid, char *operation);
|
||||
void clean_du_uuid_list(void);
|
||||
#endif // ICWMP_ENABLE_SMM_SUPPORT
|
||||
|
||||
#endif
|
||||
|
|
|
|||
13
src/event.c
13
src/event.c
|
|
@ -35,8 +35,10 @@ const struct EVENT_CONST_STRUCT EVENT_CONST[] = {
|
|||
[EVENT_IDX_8DIAGNOSTICS_COMPLETE] = { "8 DIAGNOSTICS COMPLETE", EVENT_RETRY_AFTER_TRANSMIT_FAIL },
|
||||
[EVENT_IDX_9REQUEST_DOWNLOAD] = { "9 REQUEST DOWNLOAD", EVENT_RETRY_AFTER_TRANSMIT_FAIL | EVENT_RETRY_AFTER_REBOOT },
|
||||
[EVENT_IDX_10AUTONOMOUS_TRANSFER_COMPLETE] = { "10 AUTONOMOUS TRANSFER COMPLETE", EVENT_RETRY_AFTER_TRANSMIT_FAIL | EVENT_RETRY_AFTER_REBOOT },
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
[EVENT_IDX_11DU_STATE_CHANGE_COMPLETE] = { "11 DU STATE CHANGE COMPLETE", EVENT_RETRY_AFTER_TRANSMIT_FAIL | EVENT_RETRY_AFTER_REBOOT },
|
||||
[EVENT_IDX_12AUTONOMOUS_DU_STATE_CHANGE_COMPLETE] = { "12 AUTONOMOUS DU STATE CHANGE COMPLETE", EVENT_RETRY_AFTER_TRANSMIT_FAIL | EVENT_RETRY_AFTER_REBOOT },
|
||||
#endif
|
||||
[EVENT_IDX_13WAKEUP] = { "13 WAKEUP", EVENT_RETRY_AFTER_TRANSMIT_FAIL | EVENT_RETRY_AFTER_REBOOT },
|
||||
[EVENT_IDX_14HEARTBEAT] = { "14 HEARTBEAT", EVENT_RETRY_AFTER_TRANSMIT_FAIL | EVENT_RETRY_AFTER_REBOOT },
|
||||
[EVENT_IDX_M_Reboot] = { "M Reboot", EVENT_RETRY_AFTER_TRANSMIT_FAIL | EVENT_RETRY_AFTER_REBOOT },
|
||||
|
|
@ -44,7 +46,9 @@ const struct EVENT_CONST_STRUCT EVENT_CONST[] = {
|
|||
[EVENT_IDX_M_Download] = { "M Download", EVENT_RETRY_AFTER_TRANSMIT_FAIL | EVENT_RETRY_AFTER_REBOOT },
|
||||
[EVENT_IDX_M_Schedule_Download] = { "M ScheduleDownload", EVENT_RETRY_AFTER_TRANSMIT_FAIL | EVENT_RETRY_AFTER_REBOOT },
|
||||
[EVENT_IDX_M_Upload] = { "M Upload", EVENT_RETRY_AFTER_TRANSMIT_FAIL | EVENT_RETRY_AFTER_REBOOT },
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
[EVENT_IDX_M_ChangeDUState] = { "M ChangeDUState", EVENT_RETRY_AFTER_TRANSMIT_FAIL | EVENT_RETRY_AFTER_REBOOT }
|
||||
#endif
|
||||
};
|
||||
|
||||
void cwmp_save_event_container(struct event_container *event_container)
|
||||
|
|
@ -178,6 +182,7 @@ int cwmp_root_cause_transfer_complete(struct transfer_complete *p)
|
|||
return CWMP_OK;
|
||||
}
|
||||
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
int cwmp_root_cause_autonomous_cdu_complete(auto_du_state_change_compl *p)
|
||||
{
|
||||
struct event_container *event_container;
|
||||
|
|
@ -196,6 +201,7 @@ int cwmp_root_cause_autonomous_cdu_complete(auto_du_state_change_compl *p)
|
|||
rpc_acs->extra_data = (void *)p;
|
||||
return CWMP_OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
int cwmp_root_cause_autonomous_transfer_complete(auto_transfer_complete *p)
|
||||
{
|
||||
|
|
@ -216,6 +222,7 @@ int cwmp_root_cause_autonomous_transfer_complete(auto_transfer_complete *p)
|
|||
return CWMP_OK;
|
||||
}
|
||||
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
int cwmp_root_cause_changedustate_complete(struct du_state_change_complete *p)
|
||||
{
|
||||
struct event_container *event_container;
|
||||
|
|
@ -241,6 +248,7 @@ int cwmp_root_cause_changedustate_complete(struct du_state_change_complete *p)
|
|||
rpc_acs->extra_data = (void *)p;
|
||||
return CWMP_OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
int cwmp_root_cause_schedule_inform(struct schedule_inform *schedule_inform)
|
||||
{
|
||||
|
|
@ -411,12 +419,13 @@ int cwmp_get_int_event_code(const char *code)
|
|||
|
||||
else if (CWMP_STRNCMP(code, "10", 2) == 0)
|
||||
return EVENT_IDX_10AUTONOMOUS_TRANSFER_COMPLETE;
|
||||
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
else if (CWMP_STRNCMP(code, "11", 2) == 0)
|
||||
return EVENT_IDX_11DU_STATE_CHANGE_COMPLETE;
|
||||
|
||||
else if (CWMP_STRNCMP(code, "12", 2) == 0)
|
||||
return EVENT_IDX_12AUTONOMOUS_DU_STATE_CHANGE_COMPLETE;
|
||||
#endif
|
||||
|
||||
else if (CWMP_STRNCMP(code, "13", 2) == 0)
|
||||
return EVENT_IDX_13WAKEUP;
|
||||
|
|
@ -439,8 +448,10 @@ int cwmp_get_int_event_code(const char *code)
|
|||
else if (CWMP_STRCMP(code, "M Upload") == 0)
|
||||
return EVENT_IDX_M_Upload;
|
||||
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
else if (CWMP_STRCMP(code, "M ChangeDUState") == 0)
|
||||
return EVENT_IDX_M_ChangeDUState;
|
||||
#endif
|
||||
|
||||
else
|
||||
return EVENT_IDX_6CONNECTION_REQUEST;
|
||||
|
|
|
|||
|
|
@ -75,8 +75,10 @@ int cwmp_get_int_event_code(const char *code);
|
|||
bool event_exist_in_list(int event);
|
||||
int cwmp_root_cause_events(void);
|
||||
int cwmp_root_cause_transfer_complete(struct transfer_complete *p);
|
||||
int cwmp_root_cause_changedustate_complete(struct du_state_change_complete *p);
|
||||
int cwmp_root_cause_schedule_inform(struct schedule_inform *schedule_inform);
|
||||
int cwmp_root_cause_autonomous_cdu_complete(auto_du_state_change_compl *p);
|
||||
int cwmp_root_cause_autonomous_transfer_complete(auto_transfer_complete *p);
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
int cwmp_root_cause_changedustate_complete(struct du_state_change_complete *p);
|
||||
int cwmp_root_cause_autonomous_cdu_complete(auto_du_state_change_compl *p);
|
||||
#endif // ICWMP_ENABLE_SMM_SUPPORT
|
||||
#endif /* SRC_INC_EVENT_H_ */
|
||||
|
|
|
|||
17
src/rpc.c
17
src/rpc.c
|
|
@ -46,16 +46,18 @@ static int cancel_transfer(char *key);
|
|||
static int cwmp_handle_rpc_cpe_cancel_transfer(struct rpc *rpc);
|
||||
static int cwmp_handle_rpc_cpe_schedule_inform(struct rpc *rpc);
|
||||
static int cwmp_handle_rpc_cpe_schedule_download(struct rpc *rpc);
|
||||
static int cwmp_handle_rpc_cpe_change_du_state(struct rpc *rpc);
|
||||
static int cwmp_handle_rpc_cpe_fault(struct rpc *rpc);
|
||||
static int cwmp_create_fault_message(struct rpc *rpc_cpe, int fault_code, const char *fault_msg);
|
||||
static int cwmp_rpc_acs_parse_response_inform(struct rpc *rpc);
|
||||
static int cwmp_rpc_acs_parse_response_get_rpc_methods(struct rpc *this);
|
||||
static int cwmp_rpc_acs_prepare_get_rpc_methods(struct rpc *rpc);
|
||||
static int cwmp_rpc_acs_prepare_transfer_complete(struct rpc *rpc);
|
||||
static int cwmp_rpc_acs_prepare_autonomous_transfer_complete(struct rpc *rpc);
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
static int cwmp_handle_rpc_cpe_change_du_state(struct rpc *rpc);
|
||||
static int cwmp_rpc_acs_prepare_du_state_change_complete(struct rpc *rpc);
|
||||
static int cwmp_rpc_acs_prepare_autonomous_du_state_change_complete(struct rpc *rpc);
|
||||
static int cwmp_rpc_acs_prepare_autonomous_transfer_complete(struct rpc *rpc);
|
||||
#endif
|
||||
|
||||
struct cwmp_namespaces ns;
|
||||
const struct rpc_cpe_method rpc_cpe_methods[] = {
|
||||
|
|
@ -74,7 +76,9 @@ const struct rpc_cpe_method rpc_cpe_methods[] = {
|
|||
[RPC_CPE_CANCEL_TRANSFER] = { "CancelTransfer", cwmp_handle_rpc_cpe_cancel_transfer, AMD_3 },
|
||||
[RPC_CPE_SCHEDULE_INFORM] = { "ScheduleInform", cwmp_handle_rpc_cpe_schedule_inform, AMD_1 },
|
||||
[RPC_CPE_SCHEDULE_DOWNLOAD] = { "ScheduleDownload", cwmp_handle_rpc_cpe_schedule_download, AMD_3 },
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
[RPC_CPE_CHANGE_DU_STATE] = { "ChangeDUState", cwmp_handle_rpc_cpe_change_du_state, AMD_3 },
|
||||
#endif
|
||||
[RPC_CPE_X_FACTORY_RESET_SOFT] = { "X_FactoryResetSoft", cwmp_handle_rpc_cpe_x_factory_reset_soft, AMD_1 },
|
||||
[RPC_CPE_FAULT] = { "Fault", cwmp_handle_rpc_cpe_fault, AMD_1 }
|
||||
};
|
||||
|
|
@ -84,8 +88,10 @@ struct rpc_acs_method rpc_acs_methods[] = {
|
|||
[RPC_ACS_GET_RPC_METHODS] = { "GetRPCMethods", cwmp_rpc_acs_prepare_get_rpc_methods, cwmp_rpc_acs_parse_response_get_rpc_methods, NULL, NOT_KNOWN },
|
||||
[RPC_ACS_TRANSFER_COMPLETE] = { "TransferComplete", cwmp_rpc_acs_prepare_transfer_complete, NULL, cwmp_rpc_acs_destroy_data_transfer_complete, NOT_KNOWN },
|
||||
[RPC_ACS_AUTONOMOUS_TRANSFER_COMPLETE] = { "AutonomousTransferComplete", cwmp_rpc_acs_prepare_autonomous_transfer_complete, NULL, cwmp_rpc_acs_destroy_data_autonomous_transfer_complete, NOT_KNOWN },
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
[RPC_ACS_DU_STATE_CHANGE_COMPLETE] = { "DUStateChangeComplete", cwmp_rpc_acs_prepare_du_state_change_complete, NULL, cwmp_rpc_acs_destroy_data_du_state_change_complete, NOT_KNOWN },
|
||||
[RPC_ACS_AUTONOMOUS_DU_STATE_CHANGE_COMPLETE] = { "AutonomousDUStateChangeComplete", cwmp_rpc_acs_prepare_autonomous_du_state_change_complete, NULL, cwmp_rpc_acs_destroy_data_autonomous_du_state_change_complete, NOT_KNOWN }
|
||||
#endif
|
||||
};
|
||||
|
||||
static char *forced_inform_parameters[] = {
|
||||
|
|
@ -751,6 +757,9 @@ int cwmp_rpc_acs_prepare_autonomous_transfer_complete(struct rpc *rpc)
|
|||
error:
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
/*
|
||||
* [RPC ACS]: DUStateChangeComplete
|
||||
*/
|
||||
|
|
@ -852,6 +861,8 @@ error:
|
|||
return -1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* [RPC CPE]: GetParameterValues
|
||||
*/
|
||||
|
|
@ -1793,6 +1804,7 @@ fault:
|
|||
/*
|
||||
* [RPC CPE]: ChangeDuState
|
||||
*/
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
int cwmp_handle_rpc_cpe_change_du_state(struct rpc *rpc)
|
||||
{
|
||||
mxml_node_t *n, *t;
|
||||
|
|
@ -1871,6 +1883,7 @@ fault:
|
|||
error:
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* [RPC CPE]: Download
|
||||
|
|
|
|||
|
|
@ -531,9 +531,11 @@ void cwmp_schedule_session_with_event(struct uloop_timeout *timeout)
|
|||
if (session_event->event == TransferClt_Evt) {
|
||||
struct transfer_complete *ptransfer_complete = (struct transfer_complete *)session_event->extra_data;
|
||||
cwmp_root_cause_transfer_complete(ptransfer_complete);
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
} else if (session_event->event == CDU_Evt) {
|
||||
struct du_state_change_complete *pdu_state_change_complete = (struct du_state_change_complete *)session_event->extra_data;
|
||||
cwmp_root_cause_changedustate_complete(pdu_state_change_complete);
|
||||
#endif
|
||||
} else if (session_event->event == Schedule_Inform_Evt) {
|
||||
struct schedule_inform *schedule_inform = (struct schedule_inform *)session_event->extra_data;
|
||||
cwmp_root_cause_schedule_inform(schedule_inform);
|
||||
|
|
@ -546,9 +548,11 @@ void cwmp_schedule_session_with_event(struct uloop_timeout *timeout)
|
|||
} else if (session_event->event == EVENT_IDX_10AUTONOMOUS_TRANSFER_COMPLETE) {
|
||||
auto_transfer_complete *auto_trnsfr_complete = (auto_transfer_complete *)session_event->extra_data;
|
||||
cwmp_root_cause_autonomous_transfer_complete(auto_trnsfr_complete);
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
} else if (session_event->event == EVENT_IDX_12AUTONOMOUS_DU_STATE_CHANGE_COMPLETE) {
|
||||
auto_du_state_change_compl *data = (auto_du_state_change_compl *)session_event->extra_data;
|
||||
cwmp_root_cause_autonomous_cdu_complete(data);
|
||||
#endif
|
||||
} else if (session_event->event >= 0) {
|
||||
struct event_container *event_container = NULL;
|
||||
event_container = cwmp_add_event_container(session_event->event, "");
|
||||
|
|
@ -781,10 +785,12 @@ int run_session_end_func(void)
|
|||
apply_schedule_inform();
|
||||
}
|
||||
|
||||
#ifdef ICWMP_ENABLE_SMM_SUPPORT
|
||||
if (end_session_flag & END_SESSION_CDU) {
|
||||
CWMP_LOG(INFO, "Apply CDU Calls");
|
||||
apply_change_du_state();
|
||||
}
|
||||
#endif
|
||||
|
||||
if (cwmp_ctx.heart_session) {
|
||||
uloop_timeout_cancel(&heartbeat_session_timer);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue