16 #ifndef M2M_RESOURCE_BASE_H 17 #define M2M_RESOURCE_BASE_H 23 #define REGISTRY_FLOAT_STRING_MAX_LEN 48 30 class M2MCallbackAssociation;
33 typedef void(*execute_callback_2)(
void *arguments);
36 typedef void(*notification_sent_callback_2)(void);
38 #ifndef DISABLE_BLOCK_MESSAGE 129 const uint8_t *buffer,
130 const size_t buffer_size,
151 const String &resource_name,
156 bool external_blockwise_store,
157 bool multiple_instance);
173 const String &resource_name,
177 const uint8_t *value,
180 bool external_blockwise_store,
181 bool multiple_instance);
371 uint8_t *
value()
const;
412 sn_coap_hdr_s *received_coap_header,
424 sn_coap_hdr_s *received_coap_header,
445 #ifndef DISABLE_BLOCK_MESSAGE 490 void report_value_change();
492 bool has_value_changed(
const uint8_t *value,
const uint32_t value_len);
496 void read_data_from_application(M2MCallbackAssociation *item, nsdl_s *nsdl,
const sn_coap_hdr_s *received_coap,
497 sn_coap_hdr_s *coap_response,
size_t &payload_len);
501 #ifndef DISABLE_BLOCK_MESSAGE 505 friend class Test_M2MResourceInstance;
506 friend class Test_M2MResource;
507 friend class Test_M2MObjectInstance;
508 friend class Test_M2MObject;
509 friend class Test_M2MDevice;
510 friend class Test_M2MSecurity;
511 friend class Test_M2MServer;
512 friend class Test_M2MNsdlInterface;
513 friend class Test_M2MTLVSerializer;
514 friend class Test_M2MTLVDeserializer;
515 friend class Test_M2MDynLog;
518 #endif // M2M_RESOURCE_BASE_H Mode
Enum defining a resource type.
Definition: m2mbase.h:89
Definition: m2mobservationhandler.h:30
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.
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 fol...
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:281
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...
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:42
ResourceType
Definition: m2mresourcebase.h:61
int(* read_resource_value_size_callback)(const M2MResourceBase &resource, size_t *buffer_size, void *client_args)
Read resource value size callback function.
Definition: m2mresourcebase.h:116
int(* read_resource_value_callback)(const M2MResourceBase &resource, void *buffer, size_t *buffer_size, void *client_args)
Read resource value callback function.
Definition: m2mresourcebase.h:87
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:199
virtual ~M2MResourceBase()
Header for M2MBase class.
bool(* write_resource_value_callback)(const M2MResourceBase &resource, const uint8_t *buffer, const size_t buffer_size, void *client_args)
Set resource value callback function.
Definition: m2mresourcebase.h:128
bool set_value_float(float value)
Sets a value of a given resource.
virtual M2MResource & get_parent_resource() const =0
coap_response_code_e(* read_value_callback)(const M2MResourceBase &resource, uint8_t *&buffer, size_t &buffer_size, size_t &total_size, const size_t offset, void *client_args)
Type definition for a read resource value callback function.
Definition: m2mresourcebase.h:102
int read_resource_value_size(const M2MResourceBase &resource, size_t *buffer_len)
Executes the function that is set in "set_resource_read_size_callback".
DataType
Enum defining a resource data type.
Definition: m2mbase.h:98
Definition: m2mblockmessage.h:26
bool set_read_resource_function(read_value_callback callback, void *client_args)
Sets the function that is executed when this object receives a GET request.
Header for function pointer classes.
Mode mode() const
Returns the mode of the resource.
Definition: m2mresourceinstance.h:38
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:49
coap_response_code_e
Definition: coap_response.h:26
void(* value_set_callback)(const M2MResourceBase *resource, uint8_t *value, const uint32_t value_length)
Value set callback function.
Definition: m2mresourcebase.h:77
Definition: m2mresource.h:38
bool set_resource_read_callback(read_resource_value_callback callback, void *client_args) m2m_deprecated
Sets the callback function that is executed when reading the resource value.
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.
bool set_outgoing_block_message_callback(outgoing_block_message_callback callback) m2m_deprecated
Sets the function that is executed when this object receives a GET request. This is called if resourc...
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:113
uint8_t * value() const
Returns the value pointer of the object.
void report_to_parents()
Function to report the value changes to the object instance and object parent of the resource if they...
void clear_value()
Clears the value of a given resource.