Tizen IoT Extension SDK 1.0  1.0.1
st_thing_resource_api/inc/smartthings_payload.h
Go to the documentation of this file.
00001 /*****************************************************************
00002  *
00003  * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  * http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  *
00017  ******************************************************************/
00018 
00019 
00020 #ifndef __SAMSUNG_EXPERIENCE_SERVICE_SMARTTHINGS_PAYLOAD_H__
00021 #define __SAMSUNG_EXPERIENCE_SERVICE_SMARTTHINGS_PAYLOAD_H__
00022 
00023 #include <stdio.h>
00024 #include <stdlib.h>
00025 #include <stdbool.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C" {
00029 #endif
00030 
00044 typedef struct smartthings_payload_s *smartthings_payload_h;
00045 
00064 int smartthings_payload_create(smartthings_payload_h *payload);
00065 
00081 int smartthings_payload_destroy(smartthings_payload_h payload);
00082 
00099 int smartthings_payload_set_int(smartthings_payload_h payload, const char *attr_name, int value);
00100 
00117 int smartthings_payload_set_bool(smartthings_payload_h payload, const char *attr_name, bool value);
00118 
00135 int smartthings_payload_set_double(smartthings_payload_h payload, const char *attr_name, double value);
00136 
00153 int smartthings_payload_set_string(smartthings_payload_h payload, const char *attr_name, const char *value);
00154 
00173 int smartthings_payload_set_byte_string(smartthings_payload_h payload, const char *attr_name, const char *value, unsigned int length);
00174 
00192 int smartthings_payload_set_object(smartthings_payload_h payload, const char *attr_name, smartthings_payload_h value);
00193 
00211 int smartthings_payload_set_int_array(smartthings_payload_h payload, const char *attr_name, const int *array, unsigned int length);
00212 
00230 int smartthings_payload_set_bool_array(smartthings_payload_h payload, const char *attr_name, const bool *array, unsigned int length);
00231 
00249 int smartthings_payload_set_double_array(smartthings_payload_h payload, const char *attr_name, const double *array, unsigned int length);
00250 
00268 int smartthings_payload_set_string_array(smartthings_payload_h payload, const char *attr_name, const char **array, unsigned int length);
00269 
00288 int smartthings_payload_set_object_array(smartthings_payload_h payload, const char *attr_name, smartthings_payload_h *array, unsigned int length);
00289 
00307 int smartthings_payload_add_collection_object(smartthings_payload_h payload, const char *resource_uri, smartthings_payload_h value);
00308 
00325 int smartthings_payload_get_int(smartthings_payload_h payload, const char *attr_name, int *value);
00326 
00343 int smartthings_payload_get_bool(smartthings_payload_h payload, const char *attr_name, bool *value);
00344 
00361 int smartthings_payload_get_double(smartthings_payload_h payload, const char *attr_name, double *value);
00362 
00380 int smartthings_payload_get_string(smartthings_payload_h payload, const char *attr_name, char **value);
00381 
00400 int smartthings_payload_get_byte_string(smartthings_payload_h payload, const char *attr_name, char **value, unsigned int *length);
00401 
00421 int smartthings_payload_get_object(smartthings_payload_h payload, const char *attr_name, smartthings_payload_h *value);
00422 
00444 int smartthings_payload_get_int_array(smartthings_payload_h payload, const char *attr_name, int **array, unsigned int *length);
00445 
00467 int smartthings_payload_get_bool_array(smartthings_payload_h payload, const char *attr_name, bool **array, unsigned int *length);
00468 
00490 int smartthings_payload_get_double_array(smartthings_payload_h payload, const char *attr_name, double **array, unsigned int *length);
00491 
00513 int smartthings_payload_get_string_array(smartthings_payload_h payload, const char *attr_name, char ***array, unsigned int *length);
00514 
00537 int smartthings_payload_get_object_array(smartthings_payload_h payload, const char *attr_name, smartthings_payload_h **array, unsigned int *length);
00538 
00558 int smartthings_payload_get_collection_object(smartthings_payload_h payload, const char *resource_uri, smartthings_payload_h *value);
00559 
00573 int smartthings_payload_release_int_array(int *array);
00574 
00588 int smartthings_payload_release_bool_array(bool *array);
00589 
00603 int smartthings_payload_release_double_array(double *array);
00604 
00619 int smartthings_payload_release_string_array(char **array, unsigned int length);
00620 
00635 int smartthings_payload_release_object_array(smartthings_payload_h *array, unsigned int length);
00636 
00653 int smartthings_payload_release_object(smartthings_payload_h payload);
00654 
00659 #ifdef __cplusplus
00660 }
00661 #endif
00662 
00663 #endif /* __SAMSUNG_EXPERIENCE_SERVICE_SMARTTHINGS_PAYLOAD_H__ */
 All Files Functions Typedefs Enumerations Enumerator