net: lwm2m: RD client Deregister event indicate
Added a new event for LWM2M_RD_CLIENT_EVENT_DEREGISTER for indicate LwM2M client dereistartion. Updated unit test and sample for new event type Signed-off-by: Juha Heiskanen <juha.heiskanen@nordicsemi.no>
This commit is contained in:
parent
69fb18a19d
commit
647fb4dc8f
7 changed files with 24 additions and 0 deletions
|
@ -318,6 +318,14 @@ events, setup a callback function:
|
||||||
LOG_DBG("Disconnected");
|
LOG_DBG("Disconnected");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case LWM2M_RD_CLIENT_EVENT_REG_UPDATE:
|
||||||
|
LOG_DBG("Registration update");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case LWM2M_RD_CLIENT_EVENT_DEREGISTER:
|
||||||
|
LOG_DBG("Deregistration client");
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -305,6 +305,7 @@ Networking
|
||||||
* Added support for tickless mode. This removes the 500 ms timeout from the socket loop
|
* Added support for tickless mode. This removes the 500 ms timeout from the socket loop
|
||||||
so the engine does not constantly wake up the CPU. This can be enabled by
|
so the engine does not constantly wake up the CPU. This can be enabled by
|
||||||
:kconfig:option:`CONFIG_LWM2M_TICKLESS`.
|
:kconfig:option:`CONFIG_LWM2M_TICKLESS`.
|
||||||
|
* Added new :c:macro:`LWM2M_RD_CLIENT_EVENT_DEREGISTER` event.
|
||||||
|
|
||||||
* Wi-Fi
|
* Wi-Fi
|
||||||
* Added Passive scan support.
|
* Added Passive scan support.
|
||||||
|
|
|
@ -2073,6 +2073,7 @@ enum lwm2m_rd_client_event {
|
||||||
LWM2M_RD_CLIENT_EVENT_ENGINE_SUSPENDED,
|
LWM2M_RD_CLIENT_EVENT_ENGINE_SUSPENDED,
|
||||||
LWM2M_RD_CLIENT_EVENT_NETWORK_ERROR,
|
LWM2M_RD_CLIENT_EVENT_NETWORK_ERROR,
|
||||||
LWM2M_RD_CLIENT_EVENT_REG_UPDATE,
|
LWM2M_RD_CLIENT_EVENT_REG_UPDATE,
|
||||||
|
LWM2M_RD_CLIENT_EVENT_DEREGISTER,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -231,6 +231,9 @@ static void rd_client_event(struct lwm2m_ctx *client,
|
||||||
case LWM2M_RD_CLIENT_EVENT_REG_UPDATE:
|
case LWM2M_RD_CLIENT_EVENT_REG_UPDATE:
|
||||||
LOG_DBG("Registration update");
|
LOG_DBG("Registration update");
|
||||||
break;
|
break;
|
||||||
|
case LWM2M_RD_CLIENT_EVENT_DEREGISTER:
|
||||||
|
LOG_DBG("Client De-register");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -215,6 +215,8 @@ static void set_sm_state_delayed(uint8_t sm_state, int64_t delay_ms)
|
||||||
}
|
}
|
||||||
} else if (sm_state == ENGINE_UPDATE_REGISTRATION) {
|
} else if (sm_state == ENGINE_UPDATE_REGISTRATION) {
|
||||||
event = LWM2M_RD_CLIENT_EVENT_REG_UPDATE;
|
event = LWM2M_RD_CLIENT_EVENT_REG_UPDATE;
|
||||||
|
} else if (sm_state == ENGINE_DEREGISTER) {
|
||||||
|
event = LWM2M_RD_CLIENT_EVENT_DEREGISTER;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sm_is_suspended()) {
|
if (sm_is_suspended()) {
|
||||||
|
|
|
@ -117,6 +117,9 @@ static void rd_client_event(struct lwm2m_ctx *client,
|
||||||
case LWM2M_RD_CLIENT_EVENT_REG_UPDATE:
|
case LWM2M_RD_CLIENT_EVENT_REG_UPDATE:
|
||||||
LOG_DBG("Registration update");
|
LOG_DBG("Registration update");
|
||||||
break;
|
break;
|
||||||
|
case LWM2M_RD_CLIENT_EVENT_DEREGISTER:
|
||||||
|
LOG_DBG("Deregistration client");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -106,6 +106,9 @@ static void lwm2m_event_cb(struct lwm2m_ctx *client, enum lwm2m_rd_client_event
|
||||||
case LWM2M_RD_CLIENT_EVENT_REG_UPDATE:
|
case LWM2M_RD_CLIENT_EVENT_REG_UPDATE:
|
||||||
LOG_INF("*** LWM2M_RD_CLIENT_EVENT_REG_UPDATE");
|
LOG_INF("*** LWM2M_RD_CLIENT_EVENT_REG_UPDATE");
|
||||||
break;
|
break;
|
||||||
|
case LWM2M_RD_CLIENT_EVENT_DEREGISTER:
|
||||||
|
LOG_INF("*** LWM2M_RD_CLIENT_EVENT_DEREGISTER");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
show_lwm2m_event(client_event);
|
show_lwm2m_event(client_event);
|
||||||
|
@ -211,6 +214,7 @@ ZTEST(lwm2m_rd_client, test_start_registration_ok)
|
||||||
|
|
||||||
coap_header_get_code_fake.custom_fake = coap_header_get_code_fake_deleted;
|
coap_header_get_code_fake.custom_fake = coap_header_get_code_fake_deleted;
|
||||||
zassert_true(lwm2m_rd_client_stop(&ctx, lwm2m_event_cb, true) == 0, NULL);
|
zassert_true(lwm2m_rd_client_stop(&ctx, lwm2m_event_cb, true) == 0, NULL);
|
||||||
|
zassert_true(expect_lwm2m_rd_client_event(LWM2M_RD_CLIENT_EVENT_DEREGISTER), NULL);
|
||||||
zassert_true(expect_lwm2m_rd_client_event(LWM2M_RD_CLIENT_EVENT_DISCONNECT), NULL);
|
zassert_true(expect_lwm2m_rd_client_event(LWM2M_RD_CLIENT_EVENT_DISCONNECT), NULL);
|
||||||
zassert_true(!lwm2m_rd_client_is_registred(&ctx), NULL);
|
zassert_true(!lwm2m_rd_client_is_registred(&ctx), NULL);
|
||||||
}
|
}
|
||||||
|
@ -425,6 +429,7 @@ ZTEST(lwm2m_rd_client, test_deregistration_timeout)
|
||||||
|
|
||||||
test_prepare_pending_message_cb(&message_reply_timeout_cb_default);
|
test_prepare_pending_message_cb(&message_reply_timeout_cb_default);
|
||||||
zassert_true(lwm2m_rd_client_stop(&ctx, lwm2m_event_cb, true) == 0, NULL);
|
zassert_true(lwm2m_rd_client_stop(&ctx, lwm2m_event_cb, true) == 0, NULL);
|
||||||
|
zassert_true(expect_lwm2m_rd_client_event(LWM2M_RD_CLIENT_EVENT_DEREGISTER), NULL);
|
||||||
zassert_true(expect_lwm2m_rd_client_event(LWM2M_RD_CLIENT_EVENT_DEREGISTER_FAILURE));
|
zassert_true(expect_lwm2m_rd_client_event(LWM2M_RD_CLIENT_EVENT_DEREGISTER_FAILURE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -529,6 +534,7 @@ ZTEST(lwm2m_rd_client, test_suspend_stop_resume)
|
||||||
|
|
||||||
zassert_equal(lwm2m_rd_client_stop(&ctx, lwm2m_event_cb, false), 0);
|
zassert_equal(lwm2m_rd_client_stop(&ctx, lwm2m_event_cb, false), 0);
|
||||||
zassert_true(lwm2m_rd_client_resume() == 0, NULL);
|
zassert_true(lwm2m_rd_client_resume() == 0, NULL);
|
||||||
|
zassert_false(expect_lwm2m_rd_client_event(LWM2M_RD_CLIENT_EVENT_DEREGISTER), NULL);
|
||||||
zassert_true(expect_lwm2m_rd_client_event(LWM2M_RD_CLIENT_EVENT_DISCONNECT), NULL);
|
zassert_true(expect_lwm2m_rd_client_event(LWM2M_RD_CLIENT_EVENT_DISCONNECT), NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue