| 
    Tizen Native API
    5.0
    
   
   | 
  
  
  
 
IoTCon Query provides API to manage query.
#include <iotcon.h>
The IoTCon Query API provides methods for managing query of request. Example (Client side) :
#include <iotcon.h> ... static void _request_get(iotcon_remote_resource_h resource) { int ret; iotcon_query_h query = NULL; ret = iotcon_query_create(&query); if (IOTCON_ERROR_NONE != ret) return; ret = iotcon_query_add(query, "key", "value"); if (IOTCON_ERROR_NONE != ret) { iotcon_query_destroy(query); return; } ret = iotcon_remote_resource_get(resource, query, _on_get, NULL); if (IOTCON_ERROR_NONE != ret) { iotcon_query_destroy(query); return; } iotcon_query_destroy(query); }
Example (Server side) :
#include <iotcon.h> ... static bool _query_foreach(const char *key, const char *value, void *user_data) { // handle query return IOTCON_FUNC_CONTINUE; } static void _request_handler(iotcon_resource_h resource, iotcon_request_h request, void *user_data) { int ret; iotcon_query_h query = NULL; ret = iotcon_request_get_query(request, &query); if (IOTCON_ERROR_NONE != ret) return; if (IOTCON_ERROR_NONE == ret && query) { ret = iotcon_query_foreach(query, _query_foreach, NULL); if (IOTCON_ERROR_NONE != ret) return; } ... }
This API is related with the following features: 
Functions | |
| int | iotcon_query_create (iotcon_query_h *query) | 
| Creates a new query handle.   | |
| int | iotcon_query_destroy (iotcon_query_h query) | 
| Destroys a query handle.   | |
| int | iotcon_query_get_resource_type (iotcon_query_h query, char **resource_type) | 
| Gets resource type from the query.   | |
| int | iotcon_query_get_interface (iotcon_query_h query, char **resource_iface) | 
| Gets resource interface from the query.   | |
| int | iotcon_query_set_resource_type (iotcon_query_h query, const char *resource_type) | 
| Sets the resource type into the query.   | |
| int | iotcon_query_set_interface (iotcon_query_h query, const char *resource_iface) | 
| Sets the resource interface into the query.   | |
| int | iotcon_query_add (iotcon_query_h query, const char *key, const char *value) | 
| Adds a new key and corresponding value into the query.   | |
| int | iotcon_query_remove (iotcon_query_h query, const char *key) | 
| Removes the key and its associated value from the query.   | |
| int | iotcon_query_lookup (iotcon_query_h query, const char *key, char **data) | 
| Looks up data at the given key from the query.   | |
| int | iotcon_query_foreach (iotcon_query_h query, iotcon_query_foreach_cb cb, void *user_data) | 
| Gets all data of the query by invoking the callback function.   | |
Typedefs | |
| typedef bool(* | iotcon_query_foreach_cb )(const char *key, const char *value, void *user_data) | 
| Specifies the type of function passed to iotcon_query_foreach().   | |
| typedef bool(* iotcon_query_foreach_cb)(const char *key, const char *value, void *user_data) | 
Specifies the type of function passed to iotcon_query_foreach().
| [in] | key | The key of the query | 
| [in] | value | The value of the query | 
| [in] | user_data | The user data to pass to the function | 
true to continue with the next iteration of the loop, otherwise false to break out of the loop IOTCON_FUNC_CONTINUE and IOTCON_FUNC_STOP are more friendly values for the return | int iotcon_query_add | ( | iotcon_query_h | query, | 
| const char * | key, | ||
| const char * | value | ||
| ) | 
Adds a new key and corresponding value into the query.
| [in] | query | The handle of the query | 
| [in] | key | The key of the query to insert | 
| [in] | value | The string data to insert into the query | 
0 on success, otherwise a negative error value | 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_query_create | ( | iotcon_query_h * | query | ) | 
Creates a new query handle.
| [out] | query | A newly allocated query handle | 
0 on success, otherwise a negative error value | 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_query_destroy | ( | iotcon_query_h | query | ) | 
Destroys a query handle.
| [in] | query | The handle of the query | 
0 on success, otherwise a negative error value | IOTCON_ERROR_NONE | Successful | 
| IOTCON_ERROR_NOT_SUPPORTED | Not supported | 
| IOTCON_ERROR_INVALID_PARAMETER | Invalid parameter | 
| int iotcon_query_foreach | ( | iotcon_query_h | query, | 
| iotcon_query_foreach_cb | cb, | ||
| void * | user_data | ||
| ) | 
Gets all data of the query by invoking the callback function.
iotcon_query_foreach_cb() will be called for each query. 
 If iotcon_query_foreach_cb() returns false, iteration will be stopped. 
| [in] | query | The handle of the query | 
| [in] | cb | The callback function to get data | 
| [in] | user_data | The user data to be passed to the callback function | 
0 on success, otherwise a negative error value | IOTCON_ERROR_NONE | Successful | 
| IOTCON_ERROR_NOT_SUPPORTED | Not supported | 
| IOTCON_ERROR_INVALID_PARAMETER | Invalid parameter | 
| int iotcon_query_get_interface | ( | iotcon_query_h | query, | 
| char ** | resource_iface | ||
| ) | 
Gets resource interface from the query.
| [in] | query | The handle of the query | 
| [out] | resource_iface | Found resource interface from query | 
0 on success, otherwise a negative error value | 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_query_get_resource_type | ( | iotcon_query_h | query, | 
| char ** | resource_type | ||
| ) | 
Gets resource type from the query.
| [in] | query | The handle of the query | 
| [out] | resource_type | Found resource type from query | 
0 on success, otherwise a negative error value | 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_OUT_OF_MEMORY | Out of memory | 
| int iotcon_query_lookup | ( | iotcon_query_h | query, | 
| const char * | key, | ||
| char ** | data | ||
| ) | 
Looks up data at the given key from the query.
| [in] | query | The handle of the query | 
| [in] | key | The key of the query to lookup | 
| [out] | data | Found data from query | 
0 on success, otherwise a negative error value | IOTCON_ERROR_NONE | Successful | 
| IOTCON_ERROR_NOT_SUPPORTED | Not supported | 
| IOTCON_ERROR_INVALID_PARAMETER | Invalid parameter | 
| int iotcon_query_remove | ( | iotcon_query_h | query, | 
| const char * | key | ||
| ) | 
Removes the key and its associated value from the query.
| [in] | query | The handle of the query | 
| [in] | key | The key of the option to delete | 
0 on success, otherwise a negative error value | IOTCON_ERROR_NONE | Successful | 
| IOTCON_ERROR_NOT_SUPPORTED | Not supported | 
| IOTCON_ERROR_INVALID_PARAMETER | Invalid parameter | 
| int iotcon_query_set_interface | ( | iotcon_query_h | query, | 
| const char * | resource_iface | ||
| ) | 
Sets the resource interface into the query.
| [in] | query | The handle of the query | 
| [in] | resource_iface | The resource interface to add into the query | 
0 on success, otherwise a negative error value | 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_query_set_resource_type | ( | iotcon_query_h | query, | 
| const char * | resource_type | ||
| ) | 
Sets the resource type into the query.
| [in] | query | The handle of the query | 
| [in] | resource_type | The resource type to set into the query | 
0 on success, otherwise a negative error value | IOTCON_ERROR_NONE | Successful | 
| IOTCON_ERROR_NOT_SUPPORTED | Not supported | 
| IOTCON_ERROR_OUT_OF_MEMORY | Out of memory | 
| IOTCON_ERROR_INVALID_PARAMETER | Invalid parameter |