net: lwm2m: Added execute arguments support
A dedicated LwM2M execute callback type has been implemented which supports execute arguments. The lwm2m engine, lwm2m_client sample and lwm2m objects have been updated accordingly. Also the API change has been documented, and the lwm2m engine reference has been updated. Fixes #30551. Signed-off-by: Maik Vermeulen <maik.vermeulen@innotractor.com>
This commit is contained in:
parent
4f35535539
commit
4cfd2a1943
14 changed files with 66 additions and 28 deletions
|
@ -2065,7 +2065,7 @@ int lwm2m_engine_register_post_write_callback(char *pathstr,
|
|||
}
|
||||
|
||||
int lwm2m_engine_register_exec_callback(char *pathstr,
|
||||
lwm2m_engine_user_cb_t cb)
|
||||
lwm2m_engine_execute_cb_t cb)
|
||||
{
|
||||
int ret;
|
||||
struct lwm2m_engine_res *res = NULL;
|
||||
|
@ -2839,6 +2839,8 @@ static int lwm2m_exec_handler(struct lwm2m_message *msg)
|
|||
struct lwm2m_engine_obj_inst *obj_inst;
|
||||
struct lwm2m_engine_res *res = NULL;
|
||||
int ret;
|
||||
uint8_t *args;
|
||||
uint16_t args_len;
|
||||
|
||||
if (!msg) {
|
||||
return -EINVAL;
|
||||
|
@ -2849,8 +2851,10 @@ static int lwm2m_exec_handler(struct lwm2m_message *msg)
|
|||
return ret;
|
||||
}
|
||||
|
||||
args = (uint8_t *)coap_packet_get_payload(msg->in.in_cpkt, &args_len);
|
||||
|
||||
if (res->execute_cb) {
|
||||
return res->execute_cb(obj_inst->obj_inst_id);
|
||||
return res->execute_cb(obj_inst->obj_inst_id, args, args_len);
|
||||
}
|
||||
|
||||
/* TODO: something else to handle for execute? */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue