Tizen IoT Extension SDK 1.0  1.0.0
/home/hongkukson/_tizen_SES/SmartThingsThing_public_iot/capi/st_thing_resource_api/inc/smartthings_payload.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved
00003  *
00004  * PROPRIETARY/CONFIDENTIAL
00005  *
00006  * This software is the confidential and proprietary information of
00007  * Samsung Electronics Co., Ltd. ("Confidential Information").
00008  * You shall not disclose such Confidential Information and shall
00009  * use it only in accordance with the terms of the license agreement
00010  * you entered into with Samsung Electronics Co., Ltd. ("SAMSUNG").
00011  *
00012  * SAMSUNG MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY
00013  * OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT
00014  * LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR
00015  * A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SAMSUNG SHALL NOT BE
00016  * LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING,
00017  * MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
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