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.