net: lwm2m: Plain Text dynamic Resource instance allocation
Integrated dynamic resouce instance allocation to Plain text. Signed-off-by: Juha Heiskanen <juha.heiskanen@nordicsemi.no>
This commit is contained in:
parent
fcbf84b5d7
commit
7b3a1f31fe
1 changed files with 6 additions and 33 deletions
|
@ -433,7 +433,7 @@ int do_write_op_plain_text(struct lwm2m_message *msg)
|
|||
struct lwm2m_engine_obj_field *obj_field;
|
||||
struct lwm2m_engine_res *res = NULL;
|
||||
struct lwm2m_engine_res_inst *res_inst = NULL;
|
||||
int ret, i;
|
||||
int ret;
|
||||
uint8_t created = 0U;
|
||||
|
||||
ret = lwm2m_get_or_create_engine_obj(msg, &obj_inst, &created);
|
||||
|
@ -441,40 +441,13 @@ int do_write_op_plain_text(struct lwm2m_message *msg)
|
|||
return ret;
|
||||
}
|
||||
|
||||
obj_field = lwm2m_get_engine_obj_field(obj_inst->obj, msg->path.res_id);
|
||||
if (!obj_field) {
|
||||
return -ENOENT;
|
||||
ret = lwm2m_engine_validate_write_access(msg, obj_inst, &obj_field);
|
||||
if (ret < 0) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (!LWM2M_HAS_PERM(obj_field, LWM2M_PERM_W) &&
|
||||
!lwm2m_engine_bootstrap_override(msg->ctx, &msg->path)) {
|
||||
return -EPERM;
|
||||
}
|
||||
|
||||
if (!obj_inst->resources || obj_inst->resource_count == 0U) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
for (i = 0; i < obj_inst->resource_count; i++) {
|
||||
if (obj_inst->resources[i].res_id == msg->path.res_id) {
|
||||
res = &obj_inst->resources[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!res) {
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
for (i = 0; i < res->res_inst_count; i++) {
|
||||
if (res->res_instances[i].res_inst_id ==
|
||||
msg->path.res_inst_id) {
|
||||
res_inst = &res->res_instances[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!res_inst) {
|
||||
ret = lwm2m_engine_get_create_res_inst(&msg->path, &res, &res_inst);
|
||||
if (ret < 0) {
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue