16 #ifndef M2M_RESOURCE_BASE_H 17 #define M2M_RESOURCE_BASE_H 31 typedef void(*execute_callback_2) (
void *arguments);
34 typedef void(*notification_sent_callback_2) (void);
36 #ifndef DISABLE_BLOCK_MESSAGE 59 typedef void(*notification_status_callback_2) (
const uint16_t msg_id,
60 const M2MResourceBase::NotificationStatus status);
92 typedef int(*read_resource_value_callback) (
const M2MResourceBase& resource,
104 typedef int(*read_resource_value_size_callback) (
const M2MResourceBase& resource,
116 typedef bool(*write_resource_value_callback) (
const M2MResourceBase& resource,
117 const uint8_t *buffer,
118 const size_t buffer_size,
139 const String &resource_name,
144 bool external_blockwise_store,
145 bool multiple_instance);
161 const String &resource_name,
163 const String &resource_type,
165 const uint8_t *value,
168 bool external_blockwise_store,
169 bool multiple_instance);
271 bool set_value(
const uint8_t *value,
const uint32_t value_length);
283 bool set_value_raw(uint8_t *value,
const uint32_t value_length);
326 void get_value(uint8_t *&value, uint32_t &value_length);
350 uint8_t*
value()
const;
372 void update_value(uint8_t *value,
const uint32_t value_length);
383 sn_coap_hdr_s *received_coap_header,
395 sn_coap_hdr_s *received_coap_header,
413 #ifndef DISABLE_BLOCK_MESSAGE 505 void report_value_change();
507 bool has_value_changed(
const uint8_t* value,
const uint32_t value_len);
513 #ifndef DISABLE_BLOCK_MESSAGE 517 NotificationStatus _notification_status : 2;
519 friend class Test_M2MResourceInstance;
520 friend class Test_M2MResource;
521 friend class Test_M2MObjectInstance;
522 friend class Test_M2MObject;
523 friend class Test_M2MDevice;
524 friend class Test_M2MSecurity;
525 friend class Test_M2MServer;
526 friend class Test_M2MNsdlInterface;
527 friend class Test_M2MFirmware;
528 friend class Test_M2MTLVSerializer;
529 friend class Test_M2MTLVDeserializer;
532 #endif // M2M_RESOURCE_BASE_H Mode
Enum defining a resource type.
Definition: m2mbase.h:98
Definition: m2mobservationhandler.h:31
void get_value(uint8_t *&value, uint32_t &value_length)
Provides the value of the given resource.
bool set_execute_function(execute_callback callback)
Sets the function that should be executed when this resource receives a POST command.
int64_t get_value_int() const
Converts a value to integer and returns it. Note: Conversion errors are not detected.
virtual sn_coap_hdr_s * handle_put_request(nsdl_s *nsdl, sn_coap_hdr_s *received_coap_header, M2MObservationHandler *observation_handler, bool &execute_value_updated)
Handles the PUT request for the registered objects.
void clear_notification_status()
Clears the notification send status to initial state.
virtual uint16_t object_instance_id() const =0
Returns the instance ID of the object where the resource exists.
void publish_value_in_registration_msg(bool publish_value)
Set the status whether resource value will be part of registration message. * This only allowed for f...
bool set_resource_write_callback(write_resource_value_callback callback, void *client_args)
Sets the callback function that is executed when writing the resource value.
M2MBlockMessage * block_message() const
Returns the block message object.
Definition: functionpointer.h:284
void set_value_set_callback(value_set_callback callback)
Set the value set callback. The set callback will be called instead of setting the value in set_value...
The base class based on which all LwM2M object models can be created.
Definition: m2mbase.h:63
bool set_resource_read_size_callback(read_resource_value_size_callback callback, void *client_args)
Sets the callback function that is executed when reading the resource value size. ...
String get_value_string() const
Definition: m2mobjectinstance.h:36
ResourceType
Definition: m2mresourcebase.h:66
uint32_t value_length() const
Returns the length of the value pointer.
virtual sn_coap_hdr_s * handle_get_request(nsdl_s *nsdl, sn_coap_hdr_s *received_coap_header, M2MObservationHandler *observation_handler=NULL)
Handles the GET request for the registered objects.
Definition: functionpointer.h:27
int read_resource_value(const M2MResourceBase &resource, void *buffer, size_t *buffer_len)
Executes the function that is set in "set_resource_read_callback".
LwM2M parameters.
Definition: m2mbase.h:210
bool set_notification_status_callback(notification_status_callback callback) m2m_deprecated
Sets the function that is executed when this object receives response(Empty ACK) for notification mes...
bool set_resource_read_callback(read_resource_value_callback callback, void *client_args)
Sets the callback function that is executed when reading the resource value.
virtual ~M2MResourceBase()
Definition: m2mstring.h:33
M2MBase. This class is the base class based on which all LwM2M object models can be created...
bool set_value_float(float value)
Sets a value of a given resource.
virtual M2MResource & get_parent_resource() const
Get reference to the resource owning this resource instance.
int read_resource_value_size(const M2MResourceBase &resource, size_t *buffer_len)
Executes the function that is set in "set_resource_read_size_callback".
void notification_sent()
Executes the function that is set in "set_notification_sent_callback".
DataType
Enum defining a resource data type.
Definition: m2mbase.h:107
Definition: m2mblockmessage.h:26
A class for storing and calling a pointer to a static or member void function.
bool set_notification_sent_callback(notification_sent_callback callback) m2m_deprecated
Sets the function that is executed when this object receives response(Empty ACK) for notification mes...
Mode mode() const
Returns the mode of the resource.
bool set_outgoing_block_message_callback(outgoing_block_message_callback callback)
Sets the function that is executed when this object receives a GET request. This is called if resourc...
Definition: m2mresourceinstance.h:32
bool set_incoming_block_message_callback(incoming_block_message_callback callback)
Sets the function that is executed when this object receives a block-wise message.
virtual const char * object_name() const =0
Returns the name of the object where the resource exists.
bool write_resource_value(const M2MResourceBase &resource, const uint8_t *buffer, const size_t buffer_size)
Executes the function that is set in "set_resource_write_callback".
void update_value(uint8_t *value, const uint32_t value_length)
Default value update function. This function frees old value, stores the new value and informs report...
Definition: m2mresourcebase.h:43
The base class for Client Resources.
Definition: m2mresource.h:40
Definition: functionpointer.h:199
M2MResourceBase::NotificationStatus notification_status() const
Returns notification send status.
bool set_value_raw(uint8_t *value, const uint32_t value_length)
Sets a value of a given resource.
M2MResourceBase::ResourceType resource_instance_type() const
Returns the resource data type.
const char * resource_type() const
Returns the resource type of the object.
void execute(void *arguments)
Executes the function that is set in "set_execute_function".
void execute_value_updated(const String &name)
Calls the function that is set in the "set_value_updated_function".
virtual M2MObservationHandler * observation_handler() const =0
Returns the Observation Handler object.
float get_value_float() const
Converts a value to float and returns it. Note: Conversion errors are not detected.
bool set_value(const uint8_t *value, const uint32_t value_length)
Sets a value of a given resource.
Definition: functionpointer.h:114
uint8_t * value() const
Returns the value pointer of the object.
void clear_value()
Clears the value of a given resource.