Tizen Native API
3.0
|
IoTCon State provides API to manage attributes.
Required Header
#include <iotcon.h>
Overview
The IoTCon attributes API provides string key based hash table. Example :
#include <iotcon.h> ... static void _request_handler(iotcon_resource_h resource, iotcon_request_h request, void *user_data) { int ret; iotcon_request_type_e type; ret = iotcon_request_get_request_type(request, &type); if (IOTCON_ERROR_NONE != ret) return; if (IOTCON_REQUEST_GET == type) { iotcon_response_h response = NULL; iotcon_representation_h representation = NULL; iotcon_attributes_h attributes = NULL; ret = iotcon_response_create(request, &response); if (IOTCON_ERROR_NONE != ret) return; ret = iotcon_representation_create(&representation); if (IOTCON_ERROR_NONE != ret) { iotcon_response_destroy(response); return; } ... ret = iotcon_attributes_create(&attributes); if (IOTCON_ERROR_NONE != ret) { iotcon_representation_destroy(representation); iotcon_response_destroy(response); return; } ret = iotcon_attributes_add_bool(attributes, "power", true); if (IOTCON_ERROR_NONE != ret) { iotcon_attributes_destroy(attributes); iotcon_representation_destroy(representation); iotcon_response_destroy(response); return; } ret = itocon_attributes_add_int(attributes, "brightness", 75); if (IOTCON_ERROR_NONE != ret) { iotcon_attributes_destroy(attributes); iotcon_representation_destroy(representation); iotcon_response_destroy(response); return; } ret = iotcon_representation_set_attributes(representation, attributes); if (IOTCON_ERROR_NONE != ret) { iotcon_attributes_destroy(attributes); iotcon_representation_destroy(representation); iotcon_response_destroy(response); return; } ... ret = iotcon_response_set_representation(response, representation); if (IOTCON_ERROR_NONE != ret) { iotcon_attributes_destroy(attributes); iotcon_representation_destroy(representation); iotcon_response_destroy(response); return; } ret = iotcon_response_send(response); if (IOTCON_ERROR_NONE != ret) { iotcon_attributes_destroy(attributes); iotcon_representation_destroy(representation); iotcon_response_destroy(response); return; } iotcon_attributes_destroy(attributes); iotcon_representation_destroy(representation); iotcon_response_destroy(response); } ... }
Related Features
This API is related with the following features:
- http://tizen.org/feature/iot.ocf
It is recommended to design feature related codes in your application for reliability.
You can check if a device supports the related features for this API by using System Information, thereby controlling the procedure of your application.
To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.
More details on featuring your application can be found from Feature Element.
Functions | |
int | iotcon_attributes_create (iotcon_attributes_h *attributes) |
Creates a new attributes handle. | |
int | iotcon_attributes_destroy (iotcon_attributes_h attributes) |
Destroys the attributes. | |
int | iotcon_attributes_clone (iotcon_attributes_h attributes, iotcon_attributes_h *attributes_clone) |
Clones the attributes handle. | |
int | iotcon_attributes_add_int (iotcon_attributes_h attributes, const char *key, int val) |
Adds a new key and integer value into the attributes. | |
int | iotcon_attributes_add_bool (iotcon_attributes_h attributes, const char *key, bool val) |
Adds a new key and boolean value into the attributes. | |
int | iotcon_attributes_add_double (iotcon_attributes_h attributes, const char *key, double val) |
Adds a new key and double value into the attributes. | |
int | iotcon_attributes_add_str (iotcon_attributes_h attributes, const char *key, char *val) |
Adds a new key and string value into the attributes. | |
int | iotcon_attributes_add_byte_str (iotcon_attributes_h attributes, const char *key, unsigned char *val, int len) |
Adds a new key and byte string value into the attributes. | |
int | iotcon_attributes_add_list (iotcon_attributes_h attributes, const char *key, iotcon_list_h list) |
Adds a new key and list value into the attributes. | |
int | iotcon_attributes_add_attributes (iotcon_attributes_h dest, const char *key, iotcon_attributes_h src) |
Adds a new key and attributes value into the attributes. | |
int | iotcon_attributes_add_null (iotcon_attributes_h attributes, const char *key) |
Adds a new key with NULL value into the attributes. | |
int | iotcon_attributes_get_int (iotcon_attributes_h attributes, const char *key, int *val) |
Gets the integer value from the given key. | |
int | iotcon_attributes_get_bool (iotcon_attributes_h attributes, const char *key, bool *val) |
Gets the boolean value from the given key. | |
int | iotcon_attributes_get_double (iotcon_attributes_h attributes, const char *key, double *val) |
Gets the double value from the given key. | |
int | iotcon_attributes_get_str (iotcon_attributes_h attributes, const char *key, char **val) |
Gets the string value from the given key. | |
int | iotcon_attributes_get_byte_str (iotcon_attributes_h attributes, const char *key, unsigned char **val, int *len) |
Gets the byte string value from the given key. | |
int | iotcon_attributes_get_list (iotcon_attributes_h attributes, const char *key, iotcon_list_h *list) |
Gets the list value from the given key. | |
int | iotcon_attributes_get_attributes (iotcon_attributes_h src, const char *key, iotcon_attributes_h *dest) |
Gets the attributes value from the given key. | |
int | iotcon_attributes_is_null (iotcon_attributes_h attributes, const char *key, bool *is_null) |
Checks whether the value of given key is NULL or not. | |
int | iotcon_attributes_remove (iotcon_attributes_h attributes, const char *key) |
Removes the key and its associated value from the attributes. | |
int | iotcon_attributes_get_type (iotcon_attributes_h attributes, const char *key, iotcon_type_e *type) |
Gets the type of a value at the given key. | |
int | iotcon_attributes_foreach (iotcon_attributes_h attributes, iotcon_attributes_cb cb, void *user_data) |
Calls a function for each element of attributes. | |
int | iotcon_attributes_get_keys_count (iotcon_attributes_h attributes, unsigned int *count) |
Gets the number of keys in the attributes. | |
Typedefs | |
typedef bool(* | iotcon_attributes_cb )(iotcon_attributes_h attributes, const char *key, void *user_data) |
Specifies the type of function passed to iotcon_attributes_foreach(). |
Typedef Documentation
typedef bool(* iotcon_attributes_cb)(iotcon_attributes_h attributes, const char *key, void *user_data) |
Specifies the type of function passed to iotcon_attributes_foreach().
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [in] key The key [in] user_data The user data to pass to the function
- Returns:
true
to continue with the next iteration of the loop, otherwisefalse
to break out of the loop IOTCON_FUNC_CONTINUE and IOTCON_FUNC_STOP are more friendly values for the return
- Precondition:
- iotcon_attributes_foreach() will invoke this callback function.
- See also:
- iotcon_attributes_foreach()
Function Documentation
int iotcon_attributes_add_attributes | ( | iotcon_attributes_h | dest, |
const char * | key, | ||
iotcon_attributes_h | src | ||
) |
Adds a new key and attributes value into the attributes.
If key already exists, current attributes will be replaced with new src.
- Since :
- 3.0
- Parameters:
-
[in] dest The attributes handle [in] key The key [in] src The attributes handle to set newly
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_OUT_OF_MEMORY Out of memory IOTCON_ERROR_INVALID_PARAMETER Invalid parameter
int iotcon_attributes_add_bool | ( | iotcon_attributes_h | attributes, |
const char * | key, | ||
bool | val | ||
) |
Adds a new key and boolean value into the attributes.
If key is already exists, current value will be replaced with new val.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [in] key The key [in] val The value
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_OUT_OF_MEMORY Out of memory IOTCON_ERROR_INVALID_PARAMETER Invalid parameter
int iotcon_attributes_add_byte_str | ( | iotcon_attributes_h | attributes, |
const char * | key, | ||
unsigned char * | val, | ||
int | len | ||
) |
Adds a new key and byte string value into the attributes.
If key is already exists, current value will be replaced with new val.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [in] key The key [in] val The value [in] len The length of val
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_OUT_OF_MEMORY Out of memory IOTCON_ERROR_INVALID_PARAMETER Invalid parameter
int iotcon_attributes_add_double | ( | iotcon_attributes_h | attributes, |
const char * | key, | ||
double | val | ||
) |
Adds a new key and double value into the attributes.
If key is already exists, current value will be replaced with new val.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [in] key The key [in] val The value
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_OUT_OF_MEMORY Out of memory IOTCON_ERROR_INVALID_PARAMETER Invalid parameter
int iotcon_attributes_add_int | ( | iotcon_attributes_h | attributes, |
const char * | key, | ||
int | val | ||
) |
Adds a new key and integer value into the attributes.
If key is already exists, current value will be replaced with new val.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [in] key The key [in] val The value
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_OUT_OF_MEMORY Out of memory IOTCON_ERROR_INVALID_PARAMETER Invalid parameter
int iotcon_attributes_add_list | ( | iotcon_attributes_h | attributes, |
const char * | key, | ||
iotcon_list_h | list | ||
) |
Adds a new key and list value into the attributes.
If key already exists, current list will be replaced with new list.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [in] key The key [in] list The value
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_OUT_OF_MEMORY Out of memory IOTCON_ERROR_INVALID_PARAMETER Invalid parameter
int iotcon_attributes_add_null | ( | iotcon_attributes_h | attributes, |
const char * | key | ||
) |
Adds a new key with NULL value into the attributes.
If key already exists, current value will be replaced with NULL.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [in] key The key to be set NULL
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_OUT_OF_MEMORY Out of memory IOTCON_ERROR_INVALID_PARAMETER Invalid parameter
int iotcon_attributes_add_str | ( | iotcon_attributes_h | attributes, |
const char * | key, | ||
char * | val | ||
) |
Adds a new key and string value into the attributes.
If key is already exists, current value will be replaced with new val.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [in] key The key [in] val The value
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_OUT_OF_MEMORY Out of memory IOTCON_ERROR_INVALID_PARAMETER Invalid parameter
int iotcon_attributes_clone | ( | iotcon_attributes_h | attributes, |
iotcon_attributes_h * | attributes_clone | ||
) |
Clones the attributes handle.
- Since :
- 3.0
- Remarks:
- You must destroy attributes_clone by calling iotcon_attributes_destroy() if attributes_clone is no longer needed.
- Parameters:
-
[in] attributes The attributes handle [out] attributes_clone The cloned attributes handle
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_OUT_OF_MEMORY Out of memory IOTCON_ERROR_INVALID_PARAMETER Invalid parameter
int iotcon_attributes_create | ( | iotcon_attributes_h * | attributes | ) |
Creates a new attributes handle.
- Since :
- 3.0
- Remarks:
- You must destroy attributes by calling iotcon_attributes_destroy() if attributes is no longer needed.
- Parameters:
-
[out] attributes A newly allocated attributes handle
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_OUT_OF_MEMORY Out of memory IOTCON_ERROR_INVALID_PARAMETER Invalid parameter
- See also:
- iotcon_attributes_destroy()
int iotcon_attributes_destroy | ( | iotcon_attributes_h | attributes | ) |
Destroys the attributes.
Releases attributes and its internal data.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle to free
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_INVALID_PARAMETER Invalid parameter
- See also:
- iotcon_attributes_create()
int iotcon_attributes_foreach | ( | iotcon_attributes_h | attributes, |
iotcon_attributes_cb | cb, | ||
void * | user_data | ||
) |
Calls a function for each element of attributes.
iotcon_attributes_cb() will be called for each child.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [in] cb The callback function to invoke [in] user_data The user data to pass to the function
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_INVALID_PARAMETER Invalid parameter
- Postcondition:
- iotcon_attributes_cb() will be called for each child.
- See also:
- iotcon_attributes_cb()
int iotcon_attributes_get_attributes | ( | iotcon_attributes_h | src, |
const char * | key, | ||
iotcon_attributes_h * | dest | ||
) |
Gets the attributes value from the given key.
- Since :
- 3.0
- Remarks:
- attributes must not be released using iotcon_attributes_destroy().
- Parameters:
-
[in] src The attributes handle [in] key The key [out] dest The attributes value at the key
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_INVALID_PARAMETER Invalid parameter IOTCON_ERROR_NO_DATA No data available IOTCON_ERROR_INVALID_TYPE Invalid type
int iotcon_attributes_get_bool | ( | iotcon_attributes_h | attributes, |
const char * | key, | ||
bool * | val | ||
) |
Gets the boolean value from the given key.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [in] key The key [out] val The boolean value
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_INVALID_PARAMETER Invalid parameter IOTCON_ERROR_NO_DATA No data available IOTCON_ERROR_INVALID_TYPE Invalid type
int iotcon_attributes_get_byte_str | ( | iotcon_attributes_h | attributes, |
const char * | key, | ||
unsigned char ** | val, | ||
int * | len | ||
) |
Gets the byte string value from the given key.
- Since :
- 3.0
- Remarks:
- val must not be released using free().
- Parameters:
-
[in] attributes The attributes handle [in] key The key [out] val The byte string value [out] len The length of val
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_INVALID_PARAMETER Invalid parameter IOTCON_ERROR_NO_DATA No data available IOTCON_ERROR_INVALID_TYPE Invalid type
int iotcon_attributes_get_double | ( | iotcon_attributes_h | attributes, |
const char * | key, | ||
double * | val | ||
) |
Gets the double value from the given key.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [in] key The key [out] val The double value
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_INVALID_PARAMETER Invalid parameter IOTCON_ERROR_NO_DATA No data available IOTCON_ERROR_INVALID_TYPE Invalid type
int iotcon_attributes_get_int | ( | iotcon_attributes_h | attributes, |
const char * | key, | ||
int * | val | ||
) |
Gets the integer value from the given key.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [in] key The key [out] val The integer value
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_INVALID_PARAMETER Invalid parameter IOTCON_ERROR_NO_DATA No data available IOTCON_ERROR_INVALID_TYPE Invalid type
int iotcon_attributes_get_keys_count | ( | iotcon_attributes_h | attributes, |
unsigned int * | count | ||
) |
Gets the number of keys in the attributes.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [out] count The number of keys
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_INVALID_PARAMETER Invalid parameter
int iotcon_attributes_get_list | ( | iotcon_attributes_h | attributes, |
const char * | key, | ||
iotcon_list_h * | list | ||
) |
Gets the list value from the given key.
- Since :
- 3.0
- Remarks:
- list must not be released using iotcon_list_destroy().
- Parameters:
-
[in] attributes The attributes handle [in] key The key [out] list The list value
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_INVALID_PARAMETER Invalid parameter IOTCON_ERROR_NO_DATA No data available IOTCON_ERROR_INVALID_TYPE Invalid type
int iotcon_attributes_get_str | ( | iotcon_attributes_h | attributes, |
const char * | key, | ||
char ** | val | ||
) |
Gets the string value from the given key.
- Since :
- 3.0
- Remarks:
- val must not be released using free().
- Parameters:
-
[in] attributes The attributes handle [in] key The key [out] val The string value
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_INVALID_PARAMETER Invalid parameter IOTCON_ERROR_NO_DATA No data available IOTCON_ERROR_INVALID_TYPE Invalid type
int iotcon_attributes_get_type | ( | iotcon_attributes_h | attributes, |
const char * | key, | ||
iotcon_type_e * | type | ||
) |
Gets the type of a value at the given key.
It gets the data type of value related to the key in attributes. The data type could be one of iotcon_type_e.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [in] key The key [out] type The data type of value related to the key in attributes handle
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_INVALID_PARAMETER Invalid parameter IOTCON_ERROR_NO_DATA No data available
int iotcon_attributes_is_null | ( | iotcon_attributes_h | attributes, |
const char * | key, | ||
bool * | is_null | ||
) |
Checks whether the value of given key is NULL or not.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [in] key The key [out] is_null true if the type of the given key is null, otherwise false
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_INVALID_PARAMETER Invalid parameter
int iotcon_attributes_remove | ( | iotcon_attributes_h | attributes, |
const char * | key | ||
) |
Removes the key and its associated value from the attributes.
- Since :
- 3.0
- Parameters:
-
[in] attributes The attributes handle [in] key The key
- Returns:
0
on success, otherwise a negative error value
- Return values:
-
IOTCON_ERROR_NONE Successful IOTCON_ERROR_NOT_SUPPORTED Not supported IOTCON_ERROR_INVALID_PARAMETER Invalid parameter IOTCON_ERROR_NO_DATA No data available