Struct anjay_dm_handlers_t

Struct Documentation

struct anjay_dm_handlers_t

A struct containing pointers to Object handlers.

Public Members

anjay_dm_object_read_default_attrs_t *object_read_default_attrs

Get default Object attributes, anjay_dm_object_read_default_attrs_t

Required for handling LwM2M Discover and LwM2M Observe operations.

Can be NULL if the Attribute Storage feature is enabled. Non-NULL handler overrides Attribute Storage logic.

anjay_dm_object_write_default_attrs_t *object_write_default_attrs

Set default Object attributes, anjay_dm_object_write_default_attrs_t

Required for handling LwM2M Write-Attributes operation.

Can be NULL when Attribute Storage feature is enabled. Non-NULL handler overrides Attribute Storage logic.

anjay_dm_list_instances_t *list_instances

Enumerate available Object Instances, anjay_dm_list_instances_t

Required for every LwM2M operation.

Must not be NULL. anjay_dm_list_instances_SINGLE can be used here.

anjay_dm_instance_reset_t *instance_reset

Resets an Object Instance, anjay_dm_instance_reset_t

Required for handling LwM2M Write operation in replace mode.

Can be NULL if the object does not contain writable resources.

anjay_dm_instance_create_t *instance_create

Create an Object Instance, anjay_dm_instance_create_t

Required for handling LwM2M Create operation.

Can be NULL for single instance objects.

anjay_dm_instance_remove_t *instance_remove

Delete an Object Instance, anjay_dm_instance_remove_t

Required for handling LwM2M Delete operation performed on Object Instances.

Can be NULL for single instance objects.

anjay_dm_instance_read_default_attrs_t *instance_read_default_attrs

Get default Object Instance attributes, anjay_dm_instance_read_default_attrs_t

Required for handling LwM2M Discover and LwM2M Observe operations.

Can be NULL when Attribute Storage feature is enabled. Non-NULL handler overrides Attribute Storage logic.

anjay_dm_instance_write_default_attrs_t *instance_write_default_attrs

Set default Object Instance attributes, anjay_dm_instance_write_default_attrs_t

Required for handling LwM2M Write-Attributes operation.

Can be NULL when Attribute Storage feature is enabled. Non-NULL handler overrides Attribute Storage logic.

anjay_dm_list_resources_t *list_resources

Enumerate PRESENT Resources in a given Object Instance, anjay_dm_list_resources_t

Required for every LwM2M operation.

Must not be NULL.

anjay_dm_resource_read_t *resource_read

Get Resource value, anjay_dm_resource_read_t

Required for LwM2M Read operation.

Can be NULL if the object does not contain readable resources.

anjay_dm_resource_write_t *resource_write

Set Resource value, anjay_dm_resource_write_t

Required for LwM2M Write operation.

Can be NULL if the object does not contain writable resources.

anjay_dm_resource_execute_t *resource_execute

Perform Execute action on a Resource, anjay_dm_resource_execute_t

Required for LwM2M Execute operation.

Can be NULL if the object does not contain executable resources.

anjay_dm_resource_reset_t *resource_reset

Remove all Resource Instances from a Multiple Resource, anjay_dm_resource_reset_t

Required for LwM2M Write operation performed on multiple-instance resources.

Can be NULL if the object does not contain multiple writable resources.

anjay_dm_list_resource_instances_t *list_resource_instances

Enumerate available Resource Instances, anjay_dm_list_resource_instances_t

Required for LwM2M Read, LwM2M Write and LwM2M Discover operations performed on multiple-instance resources..

Can be NULL if the object does not contain multiple resources.

anjay_dm_resource_read_attrs_t *resource_read_attrs

Get Resource attributes, anjay_dm_resource_read_attrs_t

Required for handling LwM2M Discover and LwM2M Observe operations.

Can be NULL when Attribute Storage feature is enabled. Non-NULL handler overrides Attribute Storage logic.

anjay_dm_resource_write_attrs_t *resource_write_attrs

Set Resource attributes, anjay_dm_resource_write_attrs_t

Required for handling LwM2M Write-Attributes operation.

Can be NULL when Attribute Storage feature is enabled. Non-NULL handler overrides Attribute Storage logic.

anjay_dm_transaction_begin_t *transaction_begin

Begin a transaction on this Object, anjay_dm_transaction_begin_t

Required for handling modifying operation: LwM2M Write, LwM2M Create or LwM2M Delete.

Can be NULL for read-only objects. anjay_dm_transaction_NOOP can be used here.

anjay_dm_transaction_validate_t *transaction_validate

Validate whether a transaction on this Object can be cleanly committed. See anjay_dm_transaction_validate_t

Required for handling modifying operation: LwM2M Write, LwM2M Create or LwM2M Delete.

Can be NULL for read-only objects. anjay_dm_transaction_NOOP can be used here.

anjay_dm_transaction_commit_t *transaction_commit

Commit changes made in a transaction, anjay_dm_transaction_commit_t

Required for handling modifying operation: LwM2M Write, LwM2M Create or LwM2M Delete.

Can be NULL for read-only objects. anjay_dm_transaction_NOOP can be used here.

anjay_dm_transaction_rollback_t *transaction_rollback

Rollback changes made in a transaction, anjay_dm_transaction_rollback_t

Required for handling modifying operation: LwM2M Write, LwM2M Create or LwM2M Delete.

Can be NULL for read-only objects. anjay_dm_transaction_NOOP can be used here.

anjay_dm_resource_instance_read_attrs_t *resource_instance_read_attrs

Get Resource Instance attributes, anjay_dm_resource_instance_read_attrs_t

Required for handling LwM2M Discover and LwM2M Observe operations.

Can be NULL if the object does not contain multiple resources, when Attribute Storage feature is enabled, or when the application only targets compliance with LwM2M TS 1.0. Non-NULL handler overrides Attribute Storage logic.

anjay_dm_resource_instance_write_attrs_t *resource_instance_write_attrs

Set Resource Instance attributes, anjay_dm_resource_instance_write_attrs_t

Required for handling LwM2M Write-Attributes operation.

Can be NULL if the object does not contain multiple resources, when Attribute Storage feature is enabled, or when the application only targets compliance with LwM2M TS 1.0. Non-NULL handler overrides Attribute Storage logic.

anjay_dm_resource_instance_remove_t *resource_instance_remove

Delete a Resource Instance from a Multiple Resource, anjay_dm_resource_instance_remove_t

Required for handling LwM2M Delete operation performed on Resource Instances.

Can be NULL if the object does not contain multiple writable resources.

NOTE: This operation is new to the LwM2M 1.2 standard. It will never be called when communicating using protocol version 1.0 or 1.1. If you do not aim for LwM2M 1.2 compliance, it can also be NULL.