Soletta™ Framework
Framework for making IoT devices

Full online documentation | C API Index
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Typedefs | Enumerations | Functions
sol-lwm2m-server.h File Reference

Routines to create Servers talking the LWM2M protocol. More...

#include "sol-lwm2m.h"

Go to the source code of this file.

Typedefs

typedef struct
sol_lwm2m_client_info 
sol_lwm2m_client_info
 A handle that contains information about a registered LWM2M client. More...
 
typedef struct sol_lwm2m_server sol_lwm2m_server
 A handle to a LWM2M server. More...
 

Enumerations

enum  sol_lwm2m_registration_event { SOL_LWM2M_REGISTRATION_EVENT_REGISTER, SOL_LWM2M_REGISTRATION_EVENT_UPDATE, SOL_LWM2M_REGISTRATION_EVENT_UNREGISTER, SOL_LWM2M_REGISTRATION_EVENT_TIMEOUT }
 Enum that expresses a LWM2M client lifecycle changes. More...
 

Functions

const struct
sol_network_link_addr
sol_lwm2m_client_info_get_address (const struct sol_lwm2m_client_info *client)
 Gets the client address. More...
 
enum sol_lwm2m_binding_mode sol_lwm2m_client_info_get_binding_mode (const struct sol_lwm2m_client_info *client)
 Gets the client binding mode. More...
 
int sol_lwm2m_client_info_get_lifetime (const struct sol_lwm2m_client_info *client, uint32_t *lifetime)
 Gets the client lifetime in seconds. More...
 
const char * sol_lwm2m_client_info_get_location (const struct sol_lwm2m_client_info *client)
 Gets the client location path in the LWM2M server. More...
 
const char * sol_lwm2m_client_info_get_name (const struct sol_lwm2m_client_info *client)
 Gets the name of client. More...
 
const struct sol_ptr_vectorsol_lwm2m_client_info_get_objects (const struct sol_lwm2m_client_info *client)
 Get client's objects. More...
 
const char * sol_lwm2m_client_info_get_objects_path (const struct sol_lwm2m_client_info *client)
 Gets the client objects path. More...
 
const char * sol_lwm2m_client_info_get_sms_number (const struct sol_lwm2m_client_info *client)
 Gets the client SMS number. More...
 
int sol_lwm2m_server_add_observer (struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *client, const char *path, void(*sol_lwm2m_server_content_cb)(void *data, struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *client, const char *path, enum sol_coap_response_code response_code, enum sol_lwm2m_content_type content_type, struct sol_str_slice content), const void *data)
 Observes a client object, instance or resource. More...
 
int sol_lwm2m_server_add_registration_monitor (struct sol_lwm2m_server *server, void(*sol_lwm2m_server_registration_event_cb)(void *data, struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *cinfo, enum sol_lwm2m_registration_event event), const void *data)
 Adds a registration monitor. More...
 
int sol_lwm2m_server_create_object_instance (struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *client, const char *path, struct sol_lwm2m_resource *resources, size_t len, void(*sol_lwm2m_server_management_status_response_cb)(void *data, struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *client, const char *path, enum sol_coap_response_code response_code), const void *data)
 Creates an object instance on a client. More...
 
void sol_lwm2m_server_del (struct sol_lwm2m_server *server)
 Deletes a server instance. More...
 
int sol_lwm2m_server_del_observer (struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *client, const char *path, void(*sol_lwm2m_server_content_cb)(void *data, struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *client, const char *path, enum sol_coap_response_code response_code, enum sol_lwm2m_content_type content_type, struct sol_str_slice content), const void *data)
 Unobserve a client object, instance or resource. More...
 
int sol_lwm2m_server_del_registration_monitor (struct sol_lwm2m_server *server, void(*sol_lwm2m_server_registration_event_cb)(void *data, struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *cinfo, enum sol_lwm2m_registration_event event), const void *data)
 Removes a registration monitor. More...
 
int sol_lwm2m_server_delete_object_instance (struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *client, const char *path, void(*sol_lwm2m_server_management_status_response_cb)(void *data, struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *client, const char *path, enum sol_coap_response_code response_code), const void *data)
 Deletes an object instance on a client. More...
 
int sol_lwm2m_server_execute_resource (struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *client, const char *path, const char *args, void(*sol_lwm2m_server_management_status_response_cb)(void *data, struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *client, const char *path, enum sol_coap_response_code response_code), const void *data)
 Executes an resource on a client. More...
 
const struct sol_ptr_vectorsol_lwm2m_server_get_clients (const struct sol_lwm2m_server *server)
 Gets all registerd clients. More...
 
struct sol_lwm2m_serversol_lwm2m_server_new (uint16_t coap_port, uint16_t num_sec_modes,...)
 Creates a new LWM2M server. More...
 
int sol_lwm2m_server_read (struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *client, const char *path, void(*sol_lwm2m_server_content_cb)(void *data, struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *client, const char *path, enum sol_coap_response_code response_code, enum sol_lwm2m_content_type content_type, struct sol_str_slice content), const void *data)
 Reads an object, instance or resource from a client. More...
 
int sol_lwm2m_server_write (struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *client, const char *path, struct sol_lwm2m_resource *resources, size_t len, void(*sol_lwm2m_server_management_status_response_cb)(void *data, struct sol_lwm2m_server *server, struct sol_lwm2m_client_info *client, const char *path, enum sol_coap_response_code response_code), const void *data)
 Writes an object instance or resource. More...
 

Detailed Description

Routines to create Servers talking the LWM2M protocol.