Anjay Lite
Loading...
Searching...
No Matches
server_object.h File Reference

Default implementation of the LwM2M Server Object (/1). More...

#include <anj/init.h>
#include <stddef.h>
#include <stdint.h>
#include <anj/core.h>
#include <anj/defs.h>
#include <anj/dm/core.h>
#include <anj/persistence.h>

Go to the source code of this file.

Data Structures

struct  anj_dm_server_instance_t
 
struct  anj_dm_server_instance_init_t
 
struct  anj_dm_server_obj_t
 

Functions

void anj_dm_server_obj_init (anj_dm_server_obj_t *server_obj_ctx)
 
int anj_dm_server_obj_add_instance (anj_dm_server_obj_t *server_obj_ctx, const anj_dm_server_instance_init_t *instance)
 
int anj_dm_server_obj_install (anj_t *anj, anj_dm_server_obj_t *server_obj_ctx)
 
int anj_dm_server_obj_store (anj_dm_server_obj_t *server_obj_ctx, const anj_persistence_context_t *ctx)
 
int anj_dm_server_obj_restore (anj_dm_server_obj_t *server_obj_ctx, const anj_persistence_context_t *ctx)
 

Detailed Description

Default implementation of the LwM2M Server Object (/1).

Provides initialization, instance management, and optional persistence of Server Object state.

Function Documentation

◆ anj_dm_server_obj_add_instance()

int anj_dm_server_obj_add_instance ( anj_dm_server_obj_t server_obj_ctx,
const anj_dm_server_instance_init_t instance 
)

Adds new Instance of Server Object.

Warning
This function must not be called after anj_dm_security_obj_install.
Parameters
server_obj_ctxServer Object state.
instanceInstance to insert.
Returns
0 on success, a non-zero value in case of an error.

◆ anj_dm_server_obj_init()

void anj_dm_server_obj_init ( anj_dm_server_obj_t server_obj_ctx)

Initializes Server Object internal state variable.

This function must be called once, before adding any Instances.

Parameters
server_obj_ctxPointer to a variable that will hold the state of the Object.

◆ anj_dm_server_obj_install()

int anj_dm_server_obj_install ( anj_t anj,
anj_dm_server_obj_t server_obj_ctx 
)

Installs Server Object in data model.

Call this function after adding all Instances using anj_dm_server_obj_add_instance. After calling this function, new Instances can be added only by LwM2M Bootstrap Server.

Parameters
anjAnjay object.
server_obj_ctxServer Object state.
Returns
0 on success, a non-zero value in case of an error.

◆ anj_dm_server_obj_restore()

int anj_dm_server_obj_restore ( anj_dm_server_obj_t server_obj_ctx,
const anj_persistence_context_t ctx 
)

Deserializes the LwM2M Server Object from the persistence stream.

Reads Server Object instance and its resources from the underlying medium via ctx->read.

Parameters
server_obj_ctxServer Object context to fill.
ctxPersistence context; must have anj_persistence_context_t::direction set to ANJ_PERSISTENCE_RESTORE.
Returns
0 on success, negative value on error.

◆ anj_dm_server_obj_store()

int anj_dm_server_obj_store ( anj_dm_server_obj_t server_obj_ctx,
const anj_persistence_context_t ctx 
)

Serializes the current LwM2M Server Object into the persistence stream.

Writes Server Object instance and its resources to the underlying medium via ctx->write.

Parameters
server_obj_ctxServer Object context to serialize.
ctxPersistence context; must have anj_persistence_context_t::direction set to ANJ_PERSISTENCE_STORE.
Returns
0 on success, negative value on error.