Add two projects in master repository 30/212630/1
authorBoyeon <boyeon.son@samsung.com>
Fri, 23 Aug 2019 11:34:04 +0000 (20:34 +0900)
committerBoyeon <boyeon.son@samsung.com>
Fri, 23 Aug 2019 11:34:04 +0000 (20:34 +0900)
Change-Id: If7464555bb65cb0504597c3ac327c335a2fbaf7c

20 files changed:
LICENSE.APLv2 [deleted file]
NOTICE [deleted file]
basic-interrupted [new submodule]
basic-timer [new submodule]
inc/log.h [deleted file]
inc/resource/resource_infrared_motion_sensor.h [deleted file]
inc/resource/resource_led.h [deleted file]
inc/smartthings.h [deleted file]
inc/smartthings_payload.h [deleted file]
inc/smartthings_resource.h [deleted file]
lib/libst_thing_master_api.so [deleted file]
lib/libst_thing_resource_api.so [deleted file]
project_def.prop [deleted file]
shared/res/master.json [deleted file]
shared/res/motion.png [deleted file]
shared/res/resource.json [deleted file]
src/controller.c [deleted file]
src/resource/resource_infrared_motion_sensor.c [deleted file]
src/resource/resource_led.c [deleted file]
tizen-manifest.xml [deleted file]

diff --git a/LICENSE.APLv2 b/LICENSE.APLv2
deleted file mode 100755 (executable)
index d645695..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/NOTICE b/NOTICE
deleted file mode 100755 (executable)
index ba98e27..0000000
--- a/NOTICE
+++ /dev/null
@@ -1,3 +0,0 @@
-Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved.
-Except as noted, this software is licensed under Apache License, Version 2.
-Please, see the LICENSE.APLv2 file for Apache License, Version 2 terms and conditions.
diff --git a/basic-interrupted b/basic-interrupted
new file mode 160000 (submodule)
index 0000000..71be3d8
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit 71be3d8daf587a2a5221dcda7d16227577bd8578
diff --git a/basic-timer b/basic-timer
new file mode 160000 (submodule)
index 0000000..9860e2f
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit 9860e2f54df01e11ed05c38d50a573a4e55a176a
diff --git a/inc/log.h b/inc/log.h
deleted file mode 100644 (file)
index eb89231..0000000
--- a/inc/log.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/* ****************************************************************
- *
- * Copyright 2017 Samsung Electronics All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************/
-#ifndef __LOG_H__
-#define  __LOG_H__
-
-#include <dlog.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef LOG_TAG
-#undef LOG_TAG
-#endif
-#define LOG_TAG "MOTION_APP"
-
-#define _E(fmt, args...) dlog_print(DLOG_ERROR, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args)
-#define _W(fmt, args...) dlog_print(DLOG_WARN, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args)
-#define _I(fmt, args...)  dlog_print(DLOG_INFO, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args)
-#define _D(fmt, args...) dlog_print(DLOG_DEBUG, LOG_TAG, "%s : %s(%d) > "fmt"\n", rindex(__FILE__, '/') + 1, __func__, __LINE__, ##args)
-
-#define FN_CALL dlog_print(DLOG_DEBUG, LOG_TAG, ">>>>>>>> %s() called\n", __func__)
-#define FN_END dlog_print(DLOG_DEBUG, LOG_TAG, "<<<<<<<< %s() ended\n", __func__)
-
-
-#define retvm_if(expr, val, fmt, arg...) do { \
-       if (expr) { \
-               _E(fmt, ##arg); \
-               _E("(%s) -> %s() return", #expr, __FUNCTION__); \
-               return val; \
-       } \
-} while (0)
-
-#define retv_if(expr, val) do { \
-       if (expr) { \
-               _E("(%s) -> %s() return", #expr, __FUNCTION__); \
-               return (val); \
-       } \
-} while (0)
-
-#define retm_if(expr, fmt, arg...) do { \
-       if (expr) { \
-               _E(fmt, ##arg); \
-               _E("(%s) -> %s() return", #expr, __FUNCTION__); \
-               return; \
-       } \
-} while (0)
-
-#define ret_if(expr) do { \
-       if (expr) { \
-               _E("(%s) -> %s() return", #expr, __FUNCTION__); \
-               return; \
-       } \
-} while (0)
-
-#define goto_if(expr, val) do { \
-       if (expr) { \
-               _E("(%s) -> goto", #expr); \
-               goto val; \
-       } \
-} while (0)
-
-#define break_if(expr) { \
-       if (expr) { \
-               _E("(%s) -> break", #expr); \
-               break; \
-       } \
-}
-
-#define continue_if(expr) { \
-       if (expr) { \
-               _E("(%s) -> continue", #expr); \
-               continue; \
-       } \
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __LOG_H__ */
-
diff --git a/inc/resource/resource_infrared_motion_sensor.h b/inc/resource/resource_infrared_motion_sensor.h
deleted file mode 100755 (executable)
index 49062e6..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __POSITION_FINDER_RESOURCE_INFRARED_MOTION_SENSOR_H__
-#define __POSITION_FINDER_RESOURCE_INFRARED_MOTION_SENSOR_H__
-
-/**
- * @brief Reads value of gpio connected infrared motion sensor (HC-SR501)
- * @param[in] pin_num The gpio pin number for the infrared motion sensor
- * @param[out] out_value The value of the gpio (zero or non-zero)
- * @return 0 on success, otherwise a negative error value
- * @see If the gpio pin is not open, create gpio handle before reading the value
- */
-extern int resource_read_infrared_motion_sensor(int pin_num, uint32_t *out_value);
-
-/**
- * @brief Releases the gpio handle
- */
-extern void resource_close_infrared_motion_sensor(void);
-
-#endif /* __POSITION_FINDER_RESOURCE_INFRARED_MOTION_SENSOR_H__ */
diff --git a/inc/resource/resource_led.h b/inc/resource/resource_led.h
deleted file mode 100755 (executable)
index 1a81a18..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __POSITION_FINDER_RESOURCE_LED_H__
-#define __POSITION_FINDER_RESOURCE_LED_H__
-
-/**
- * @brief Writes value of gpio connected led light
- * @param[in] pin_num The gpio pin number for the led light
- * @param[out] out_value The value of turniing the led light on/off
- * @return 0 on success, otherwise a negative error value
- * @see If the gpio pin is not open, create gpio handle before writing the value
- */
-extern int resource_write_led(int pin_num, int write_value);
-
-/**
- * @brief Releases the gpio handle
- */
-extern void resource_close_led(void);
-
-#endif /* __POSITION_FINDER_RESOURCE_LED_H__ */
diff --git a/inc/smartthings.h b/inc/smartthings.h
deleted file mode 100644 (file)
index 7206479..0000000
+++ /dev/null
@@ -1,1656 +0,0 @@
-/*****************************************************************
- *
- * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************/
-
-
-#ifndef __SAMSUNG_EXPERIENCE_SERVICE_SMARTTHINGS_H__
-#define __SAMSUNG_EXPERIENCE_SERVICE_SMARTTHINGS_H__
-
-#include <stdlib.h>
-#include <stdbool.h>
-#include <tizen.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @addtogroup CAPI_SMARTTHINGS_THING_MASTER_MODULE
- * @{
- */
-
-/**
- * @brief Definition for the max length of SSID for access point.
- * @since_ses 1
- */
-#define SMARTTHINGS_SSID_LEN_MAX 32
-
-/**
- * @brief Definition for the max length of cloud information.
- * @since_ses 1
- */
-#define SMARTTHINGS_CLOUD_INFO_LEN_MAX 128
-
-/**
- * @brief Enumeration for the SmartThings error.
- * @since_ses 1
- */
-typedef enum {
-       SMARTTHINGS_ERROR_NONE = TIZEN_ERROR_NONE,                                /**< Successful */
-       SMARTTHINGS_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER,      /**< Invalid parameter */
-       SMARTTHINGS_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY,              /**< Out of memory */
-       SMARTTHINGS_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED,      /**< Permission denied */
-       SMARTTHINGS_ERROR_NO_DATA = TIZEN_ERROR_NO_DATA,                          /**< No data */
-       SMARTTHINGS_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED,              /**< Not supported */
-       SMARTTHINGS_ERROR_OPERATION_FAILED = TIZEN_ERROR_UNKNOWN - 1,             /**< Operation failed */
-       SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE = TIZEN_ERROR_UNKNOWN -2            /**< Service unavailable */
-} smartthings_error_e;
-
-/**
- * @brief Enumeration for SmartThings status.
- * @since_ses 1
- */
-typedef enum {
-       SMARTTHINGS_STATUS_NOT_READY = -1,                   /**< Service agent is not ready */
-       SMARTTHINGS_STATUS_INIT = 0,                         /**< Initial state of SmartThings Thing */
-       SMARTTHINGS_STATUS_ES_STARTED,                       /**< Easy-setup is started */
-       SMARTTHINGS_STATUS_ES_DONE,                          /**< Easy-setup is done */
-       SMARTTHINGS_STATUS_ES_FAILED_ON_OWNERSHIP_TRANSFER,  /**< Easy-setup failed due to Ownership-Transfer failure */
-       SMARTTHINGS_STATUS_CONNECTING_TO_AP,                 /**< Connecting to target Wi-Fi access point */
-       SMARTTHINGS_STATUS_CONNECTED_TO_AP,                  /**< Connected to target Wi-Fi access point */
-       SMARTTHINGS_STATUS_CONNECTING_TO_AP_FAILED,          /**< Failed to connect to target Wi-Fi access point */
-       SMARTTHINGS_STATUS_REGISTERING_TO_CLOUD,             /**< Trying to sign up, sign in and publish resources to cloud */
-       SMARTTHINGS_STATUS_REGISTERED_TO_CLOUD,              /**< Publish resources to cloud is complete. Now the thing is ready to be controlled via cloud */
-       SMARTTHINGS_STATUS_REGISTERING_FAILED_ON_SIGN_IN,    /**< Failed to sign in to cloud */
-       SMARTTHINGS_STATUS_REGISTERING_FAILED_ON_PUB_RES     /**< Failed to publish resources to cloud */
-} smartthings_status_e;
-
-/**
- * @brief Enumeration for RPC connection status.
- * @since_ses 1
- */
-typedef enum {
-       SMARTTHINGS_CONNECTION_STATUS_CONNECTED = 0,            /**< Connection is connected */
-       SMARTTHINGS_CONNECTION_STATUS_DISCONNECTED,             /**< Connection is disconnected */
-       SMARTTHINGS_CONNECTION_STATUS_REJECTED,                 /**< Connection is rejected */
-} smartthings_connection_status_e;
-
-/**
- * @brief The Wi-Fi mode.
- * @since_ses 1
- */
-typedef enum {
-       SMARTTHINGS_WIFI_MODE_11A = (1 << 0),   /**< Wi-Fi 11A */
-       SMARTTHINGS_WIFI_MODE_11B = (1 << 1),   /**< Wi-Fi 11B */
-       SMARTTHINGS_WIFI_MODE_11G = (1 << 2),   /**< Wi-Fi 11G */
-       SMARTTHINGS_WIFI_MODE_11N = (1 << 3),   /**< Wi-Fi 11N */
-       SMARTTHINGS_WIFI_MODE_11AC = (1 << 4)   /**< Wi-Fi 11AC */
-} smartthings_wifi_mode_e;
-
-/**
- * @brief The Wi-Fi frequency band.
- * @since_ses 1
- */
-typedef enum {
-       SMARTTHINGS_WIFI_FREQ_24G = (1 << 0),       /**< Wi-Fi 2.4GHz */
-       SMARTTHINGS_WIFI_FREQ_5G = (1 << 1),        /**< Wi-Fi 5GHz */
-} smartthings_wifi_freq_e;
-
-/**
- * @brief The Wi-Fi authentication type of access point.
- * @since_ses 1
- */
-typedef enum {
-       SMARTTHINGS_WIFI_AUTHTYPE_NONE = 0, /**< No authentication */
-       SMARTTHINGS_WIFI_AUTHTYPE_WEP,      /**< WEP */
-       SMARTTHINGS_WIFI_AUTHTYPE_WPA_PSK,  /**< WPA-PSK */
-       SMARTTHINGS_WIFI_AUTHTYPE_WPA2_PSK  /**< WPA2-PSK */
-} smartthings_wifi_authtype_e;
-
-/**
- * @brief The Wi-Fi encryption type of access point.
- * @since_ses 1
- */
-typedef enum {
-       SMARTTHINGS_WIFI_ENCTYPE_NONE = 0,      /**< No encryption */
-       SMARTTHINGS_WIFI_ENCTYPE_WEP_64,        /**< WEP 64 */
-       SMARTTHINGS_WIFI_ENCTYPE_WEP_128,       /**< WEP 128 */
-       SMARTTHINGS_WIFI_ENCTYPE_TKIP,          /**< TKIP */
-       SMARTTHINGS_WIFI_ENCTYPE_AES,           /**< AES */
-       SMARTTHINGS_WIFI_ENCTYPE_TKIP_AES       /**< TKIP/AES */
-} smartthings_wifi_enctype_e;
-
-/**
- * @brief The SmartThings handle.
- * @since_ses 1
- */
-typedef struct smartthings_s *smartthings_h;
-
-/**
- * @brief The access point information handle.
- * @since_ses 1
- */
-typedef struct smartthings_ap_info_s *smartthings_ap_info_h;
-
-/**
- * @brief The device provisioning information handle.
- * @since_ses 1
- */
-typedef struct smartthings_device_prov_info_s *smartthings_device_prov_info_h;
-
-/**
- * @brief The cloud information handle for cloud sign-up.
- * @since_ses 1
- */
-typedef struct smartthings_cloud_info_s *smartthings_cloud_info_h;
-
-/**
- * @brief The access point list handle.
- * @since_ses 1
- */
-typedef struct smartthings_ap_list_s *smartthings_ap_list_h;
-
-/**
- * @brief Callback for status of connection to SmartThings Thing agent.
- * @since_ses 1
- *
- * @remarks The @a handle should not be released.
- * @remarks The @a handle is the same object for which the callback was set/added.
- * @remarks The @a handle will be released when smartthings_deinitialize() is called.
- * @remarks When callback is called, user can see connection status as #smartthings_connection_status_e enumeration value.
- *
- * @param[in] result The result of connection operation
- * @param[in] handle The SmartThings handle
- * @param[in] status The status of connection
- * @param[in] user_data The user data passed from the callback registration function
- *
- * @see smartthings_initialize()
- */
-typedef void (*smartthings_connection_status_cb)(smartthings_h handle, smartthings_connection_status_e status, void *user_data);
-
-/**
- * @brief Callback for SmartThings Thing status.
- * @since_ses 1
- *
- * @remarks The @a handle should not be released.
- * @remarks The @a handle is the same object for which the callback was set/added.
- * @remarks The @a handle will be released when smartthings_deinitialize() is called.
- * @remarks When callback is called, user can see SmartThings status as #smartthings_status_e enumeration value.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] status The status of SmartThings
- * @param[in] user_data The user data passed from the callback registration function
- *
- * @see smartthings_set_status_changed_cb()
- * @see smartthings_unset_status_changed_cb()
- */
-typedef void (*smartthings_status_changed_cb)(smartthings_h handle, smartthings_status_e status, void *user_data);
-
-/**
- * @brief Callback for getting user's input regarding mutual verification.
- * @since_ses 1
- *
- * @remarks The @a handle should not be released.
- * @remarks The @a handle is the same object for which the callback was set/added.
- * @remarks The @a handle will be released when smartthings_deinitialize() is called.
- * @remarks When callback is called, user can send a confirmation for mutual verification as true or false.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] user_data The user data passed from the callback registration function
- *
- * @see smartthings_set_user_confirm_cb()
- * @see smartthings_unset_user_confirm_cb()
- */
-typedef void (*smartthings_user_confirm_cb)(smartthings_h handle, void *user_data);
-
-/**
- * @brief Callback for getting user's opinion regarding device reset.
- * @since_ses 1
- *
- * @remarks The @a handle should not be released.
- * @remarks The @a handle is the same object for which the callback was set/added.
- * @remarks The @a handle will be released when smartthings_deinitialize() is called.
- * @remarks When callback is called, user can sends a confirmation for reset as true or false.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] user_data The user data passed from the callback registration function
- *
- * @see smartthings_set_reset_confirm_cb()
- * @see smartthings_unset_reset_confirm_cb()
- */
-typedef void (*smartthings_reset_confirm_cb)(smartthings_h handle, void *user_data);
-
-/**
- * @brief Callback for result of reset operation.
- * @since_ses 1
- *
- * @remarks The @a handle should not be released.
- * @remarks The @a handle is the same object for which the callback was set/added.
- * @remarks The @a handle will be released when smartthings_deinitialize() is called.
- * @remarks When callback is called, user can check reset operation succeeds or fails.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] result The result of reset
- * @param[in] user_data The user data passed from the callback registration function
- *
- * @see smartthings_set_reset_result_cb()
- * @see smartthings_unset_reset_result_cb()
- */
-typedef void (*smartthings_reset_result_cb)(smartthings_h handle, bool result, void *user_data);
-
-/**
- * @brief Callback for carrying the randomly generated PIN information.
- * @since_ses 1
- *
- * @remarks The @a handle should not be released.
- * @remarks The @a handle is the same object for which the callback was set/added.
- * @remarks The @a handle will be released when smartthings_deinitialize() is called.
- * @remarks The @a pin can be used only in the callback. To use outside, make a copy.
- * @remarks When callback is called, user can see PIN value and length.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] pin The PIN data in string format
- * @param[in] size The PIN length of @a pin
- * @param[in] user_data The user data passed from the callback registration function
- *
- * @see smartthings_set_pin_cb()
- * @see smartthings_unset_pin_cb()
- */
-typedef void (*smartthings_pin_generated_cb)(smartthings_h handle, const char* pin, size_t size, void *user_data);
-
-/**
- * @brief Callback for informing the application to close the PIN display.
- * @since_ses 1
- *
- * @remarks The @a handle should not be released.
- * @remarks The @a handle is the same object for which the callback was set/added.
- * @remarks The @a handle will be released when smartthings_deinitialize() is called.
- * @remarks When callback is called, user can know PIN based ownership transfer is finished.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] user_data The user data passed from the callback registration function
- *
- * @see smartthings_set_pin_cb()
- * @see smartthings_unset_pin_cb()
- */
-typedef void (*smartthings_pin_display_close_cb)(smartthings_h handle, void *user_data);
-
-/**
- * @brief Callback for informing Wi-Fi AP information to connect.
- * @since_ses 1
- *
- * @remarks The @a handle should not be released.
- * @remarks The @a handle is the same object for which the callback was set/added.
- * @remarks The @a handle will be released when smartthings_deinitialize() is called.
- * @remarks The @a ap_info_h should not be released.
- * @remarks The @a ap_info_h will be released when smartthings_unset_wifi_ap_provisioning_cb() is called.
- * @remarks When callback is called, user can get Wi-Fi provisioning information.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] ap_info_h The AP information handle
- * @param[in] user_data The user data passed from the callback registration function
- *
- * @see smartthings_set_wifi_ap_provisioning_cb()
- * @see smartthings_unset_wifi_ap_provisioning_cb()
- */
-typedef void (*smartthings_wifi_ap_provisioning_cb)(smartthings_h handle, smartthings_ap_info_h ap_info_h, void *user_data);
-
-/**
- * @brief Callback for informing device provisioning information.
- * @since_ses 1
- *
- * @remarks The @a handle should not be released.
- * @remarks The @a handle is the same object for which the callback was set/added.
- * @remarks The @a handle will be released when smartthings_deinitialize() is called.
- * @remarks The @a dev_prov_h should not be released.
- * @remarks The @a dev_prov_h will be released when smartthings_unset_device_provisioning_cb() is called.
- * @remarks When callback is called, user can get device provisioning information.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] dev_prov_h The device provisioning information handle
- * @param[in] user_data The user data passed from the callback registration function
- *
- * @see smartthings_set_device_provisioning_cb()
- * @see smartthings_unset_device_provisioning_cb()
- */
-typedef void (*smartthings_device_provisioning_cb)(smartthings_h handle, smartthings_device_prov_info_h dev_prov_h, void *user_data);
-
-/**
- * @brief Callback for informing the scan AP list request.
- * @since_ses 1
- *
- * @remarks The @a handle should not be released.
- * @remarks The @a handle is the same object for which the callback was set/added.
- * @remarks The @a handle will be released when smartthings_deinitialize() is called.
- * @remarks When callback is called, user scans access points, sets AP list and sends it to agent.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] req_id The request ID
- * @param[in] user_data The user data passed from the callback registration function
- *
- * @see smartthings_set_scan_ap_cb()
- * @see smartthings_unset_scan_ap_cb()
- */
-typedef void (*smartthings_scan_ap_cb)(smartthings_h handle, int req_id, void *user_data);
-
-/**
- * @brief Callback for informing the stop soft AP request.
- * @since_ses 1
- *
- * @remarks The @a handle should not be released.
- * @remarks The @a handle is the same object for which the callback was set/added.
- * @remarks The @a handle will be released when smartthings_deinitialize() is called.
- * @remarks When callback is called, user stops soft AP.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] user_data The user data passed from the callback registration function
- *
- * @see smartthings_set_stop_soft_ap_cb()
- * @see smartthings_unset_stop_soft_ap_cb()
- */
-typedef void (*smartthings_stop_soft_ap_cb)(smartthings_h handle, void *user_data);
-
-/**
- * @brief Creates a handle and connects to agent.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @remarks The @a handle must be released using smartthings_deinitialize().
- * @remarks Ths function returns #SMARTTHINGS_ERROR_PERMISSION_DENIED\n
- *          if the application has no app-defined privilege for 'http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master'.
- *
- * @param[out] handle The SmartThings handle to be newly created on success
- * @param[in] connection_status_cb The RPC connection status callback to register
- * @param[in] user_data The user data to be passed to the callback function
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_NOT_SUPPORTED Not supported
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_deinitialize()
- */
-int smartthings_initialize(smartthings_h *handle,
-                                               smartthings_connection_status_cb connection_status_cb,
-                                               void *user_data);
-
-/**
- * @brief Deinitializes a handle and disconnects from the agent.
- * @since_ses 1
- *
- * @param[in] handle The SmartThings handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- *
- * @see smartthings_initialize()
- */
-int smartthings_deinitialize(smartthings_h handle);
-
-/**
- * @brief Starts SmartThings Thing operation.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] handle The SmartThings handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_stop()
- */
-int smartthings_start(smartthings_h handle);
-
-/**
- * @brief Stops SmartThings Thing operation.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] handle The SmartThings handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_start()
- */
-int smartthings_stop(smartthings_h handle);
-
-/**
- * @brief Sets thing status changed callback.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @remarks Only one callback function can be set with this function.
- * @remarks If multiple callbacks are set, the last one is registered only.
- * @remarks Callback is called when SmartThings status is changed.
- * @remarks When callback is called, user can get SmartThings status as #smartthings_status_e enumeration value.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] status_cb The status changed callback to register
- * @param[in] user_data The user data to be passed to the callback function
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_unset_status_changed_cb()
- */
-int smartthings_set_status_changed_cb(smartthings_h handle,
-                                                               smartthings_status_changed_cb status_cb,
-                                                               void *user_data);
-
-/**
- * @brief Unsets thing status changed callback.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] handle The SmartThings handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_set_status_changed_cb()
- */
-int smartthings_unset_status_changed_cb(smartthings_h handle);
-
-/**
- * @brief Sets test certificate files.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @remarks These files should be placed in 'res' directory of application.
- * @remarks This function is needed only for using test certificate.
- * @remarks This function can be used before smartthings_start()
- *
- * @param[in] handle The SmartThings handle
- * @param[in] certificate The certificate file
- * @param[in] private_key The private key file
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- */
-int smartthings_set_certificate_file(smartthings_h handle, const char *certificate, const char *private_key);
-
-/**
- * @brief Sets device property for Easy-setup.
- * @since_ses 1
- *
- * @remarks This function can be used before smartthings_start()
- *
- * @param[in] handle The SmartThings handle
- * @param[in] dev_name The device name
- * @param[in] wifi_mode The supported Wi-Fi mode (bit masked value for #smartthings_wifi_mode_e)
- * @param[in] wifi_freq The supported Wi-Fi frequency (bit masked value for #smartthings_wifi_freq_e)
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_set_device_property(smartthings_h handle, const char* dev_name, int wifi_mode, int wifi_freq);
-
-/**
- * @brief Gets a device ID.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @remarks The @a device_id should be released using free().
- *
- * @param[in] handle The SmartThings handle
- * @param[out] device_id The device ID
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- */
-int smartthings_get_device_id(smartthings_h handle, char **device_id);
-
-/**
- * @brief Gets a Easy-setup status.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] handle The SmartThings handle
- * @param[out] is_completed The status of Easy-setup whether it is completed or not
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- */
-int smartthings_get_easysetup_status(smartthings_h handle, bool *is_completed);
-
-/**
- * @brief Starts Easy-setup mode.
- *
- * @details This function requests for turning on soft AP to SmartThings Thing agent.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing \n
- *            %http://tizen.org/privilege/softap
- *
- * @param[in] handle The SmartThings handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_stop_easysetup()
- */
-int smartthings_start_easysetup(smartthings_h handle);
-
-/**
- * @brief Stops Easy-setup mode.
- *
- * @details This function requests for turning off soft AP to SmartThings Thing agent.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing \n
- *            %http://tizen.org/privilege/softap
- *
- * @param[in] handle The SmartThings handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_start_easysetup()
- */
-int smartthings_stop_easysetup(smartthings_h handle);
-
-/**
- * @brief Sets callback for getting user confirmation for mutual verification based just work ownership transfer.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @remarks Only one callback function can be set with this function.
- * @remarks If multiple callbacks are set, the last one is registered only.
- * @remarks Callback is called when it needs user's confirm for mutual verification based just work ownership transfer.
- * @remarks When callback is called, user can send a confirmation for mutual verification based just work ownership transfer as true or false.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] confirm_cb The user confirm callback to register
- * @param[in] user_data The user data to be passed to the callback function
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_unset_user_confirm_cb()
- */
-int smartthings_set_user_confirm_cb(smartthings_h handle,
-                                                               smartthings_user_confirm_cb confirm_cb,
-                                                               void *user_data);
-
-/**
- * @brief Unsets user confirmation callback.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] handle The SmartThings handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_set_user_confirm_cb()
- */
-int smartthings_unset_user_confirm_cb(smartthings_h handle);
-
-/**
- * @brief Sets reset confirmation callback.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @remarks Only one callback function can be set with this function.
- * @remarks If multiple callbacks are set, the last one is registered only.
- * @remarks Callback is called when it needs user's confirm for reset.
- * @remarks When callback is called, user can send a confirmation for reset as true or false.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] confirm_cb The reset confirm callback to register
- * @param[in] user_data The user data to be passed to the callback function
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_unset_reset_confirm_cb()
- */
-int smartthings_set_reset_confirm_cb(smartthings_h handle,
-                                                               smartthings_reset_confirm_cb confirm_cb,
-                                                               void *user_data);
-
-/**
- * @brief Unsets reset confirmation callback.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] handle The SmartThings handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_set_reset_confirm_cb()
- */
-int smartthings_unset_reset_confirm_cb(smartthings_h handle);
-
-/**
- * @brief Sets reset result callback.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @remarks Only one callback function can be set with this function.
- * @remarks If multiple callbacks are set, the last one is registered only.
- * @remarks Callback is called when reset operation returns its result.
- * @remarks When callback is called, user can check reset operation succeeds or fails.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] reset_result_cb The reset result callback to register
- * @param[in] user_data The user data to be passed to the callback function
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_unset_reset_result_cb()
- */
-int smartthings_set_reset_result_cb(smartthings_h handle,
-                                                               smartthings_reset_result_cb reset_result_cb,
-                                                               void *user_data);
-
-/**
- * @brief Unsets reset result callback.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] handle The SmartThings handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_set_reset_result_cb()
- */
-int smartthings_unset_reset_result_cb(smartthings_h handle);
-
-
-/**
- * @brief Sets callback for getting randomly generated PIN for the PIN-based ownership transfer request.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @remarks Only one callback function can be set with this function.
- * @remarks If multiple callbacks are set, the last one is registered only.
- * @remarks @a generated_cb callback is called when PIN is generated.
- * @remarks @a close_cb callback is called when PIN based ownership transfer is finished.
- * @remarks When @a generated_cb callback is called, user can see PIN value and length.
- * @remarks When @a close_cb callback is called, user can know PIN based ownership transfer is finished.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] generated_cb The PIN generation callback to register
- * @param[in] close_cb The PIN display close callback to register
- * @param[in] user_data The user data to be passed to the callback function
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_unset_pin_cb()
- */
-int smartthings_set_pin_cb(smartthings_h handle,
-                                                               smartthings_pin_generated_cb generated_cb,
-                                                               smartthings_pin_display_close_cb close_cb,
-                                                               void *user_data);
-
-/**
- * @brief Unsets PIN callback.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] handle The SmartThings handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_set_pin_cb()
- */
-int smartthings_unset_pin_cb(smartthings_h handle);
-
-/**
- * @brief Sets callback for getting Wi-Fi AP information during Easy-setup.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @remarks Only one callback function can be set with this function.
- * @remarks If multiple callbacks are set, the last one is registered only.
- * @remarks Callback is called when Wi-Fi provisioning event occurs.
- * @remarks When callback is called, user can get Wi-Fi provisioning information.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] wifi_ap_cb The Wi-Fi AP callback to register
- * @param[in] user_data The user data to be passed to the callback function
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_unset_wifi_ap_provisioning_cb()
- */
-int smartthings_set_wifi_ap_provisioning_cb(smartthings_h handle,
-                                                               smartthings_wifi_ap_provisioning_cb wifi_ap_cb,
-                                                               void *user_data);
-
-/**
- * @brief Unsets callback for getting Wi-Fi AP information during Easy-setup.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] handle The SmartThings handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_set_wifi_ap_provisioning_cb()
- */
-int smartthings_unset_wifi_ap_provisioning_cb(smartthings_h handle);
-
-/**
- * @brief Sets callback for getting device provisioning information.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @remarks Only one callback function can be set with this function.
- * @remarks If multiple callbacks are set, the last one is registered only.
- * @remarks Callback is called when device provisioning event occurs.
- * @remarks When callback is called, user can get device provisioning information.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] dev_prov_cb The device provisioning callback to register
- * @param[in] user_data The user data to be passed to the callback function
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_unset_device_provisioning_cb()
- */
-int smartthings_set_device_provisioning_cb(smartthings_h handle,
-                                                               smartthings_device_provisioning_cb dev_prov_cb,
-                                                               void *user_data);
-
-/**
- * @brief Unsets callback for getting device provisioning information.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] handle The SmartThings handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_set_device_provisioning_cb()
- */
-int smartthings_unset_device_provisioning_cb(smartthings_h handle);
-
-/**
- * @brief Sets callback for informing the scan AP list request.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @remarks Only one callback function can be set with this function.
- * @remarks If multiple callbacks are set, the last one is registered only.
- * @remarks Callback is called when GET request for access point list.
- * @remarks When callback is called, user scans access points, sets AP list and sends it to agent.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] scan_ap_cb The callback to register
- * @param[in] user_data The user data to be passed to the callback function
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_unset_scan_ap_cb()
- * @see smartthings_send_ap_list()
- */
-int smartthings_set_scan_ap_cb(smartthings_h handle,
-                                                               smartthings_scan_ap_cb scan_ap_cb,
-                                                               void *user_data);
-
-/**
- * @brief Unsets callback for informing the scan AP list request.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] handle The SmartThings handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_set_scan_ap_cb()
- */
-int smartthings_unset_scan_ap_cb(smartthings_h handle);
-
-/**
- * @brief Sets callback for informing the stop soft AP request.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @remarks Only one callback function can be set with this function.
- * @remarks If multiple callbacks are set, the last one is registered only.
- * @remarks Callback is called when POST request for stopping soft AP.
- * @remarks When callback is called, user stops soft AP.
- *
- * @param[in] handle The SmartThings handle
- * @param[in] stop_soft_ap_cb The callback to register
- * @param[in] user_data The user data to be passed to the callback function
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_unset_stop_soft_ap_cb()
- */
-int smartthings_set_stop_soft_ap_cb(smartthings_h handle,
-                                                               smartthings_stop_soft_ap_cb stop_soft_ap_cb,
-                                                               void *user_data);
-
-/**
- * @brief Unsets callback for informing the stop soft AP request.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] handle The SmartThings handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_set_stop_soft_ap_cb()
- */
-int smartthings_unset_stop_soft_ap_cb(smartthings_h handle);
-
-/**
- * @brief Sends a user confirmation for MUTUAL VERIFICATION BASED JUST WORK Ownership transfer.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing \n
- *            %http://tizen.org/privilege/internet
- *
- * @param[in] handle The SmartThings handle
- * @param[in] confirm The user confirmation for OTM(ownership transfer method)
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_set_user_confirm_cb()
- * @see smartthings_unset_user_confirm_cb()
- */
-int smartthings_send_user_confirm(smartthings_h handle, bool confirm);
-
-
-/**
- * @brief Sends a reset confirmation.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing \n
- *            %http://tizen.org/privilege/internet
- *
- * @param[in] handle The SmartThings handle
- * @param[in] confirm The reset confirmation
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_set_reset_confirm_cb()
- * @see smartthings_unset_reset_confirm_cb()
- */
-int smartthings_send_reset_confirm(smartthings_h handle, bool confirm);
-
-/**
- * @brief Sends a reset command for resetting the device's Cloud signup and Easy-setup.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing \n
- *            %http://tizen.org/privilege/internet
- *
- * @param[in] handle The SmartThings handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_set_reset_result_cb()
- * @see smartthings_unset_reset_result_cb()
- */
-int smartthings_reset(smartthings_h handle);
-
-/**
- * @brief Gets SSID of access point.
- * @since_ses 1
- *
- * @remarks The @a ssid should be released using free().
- *
- * @param[in] ap_info_h The SmartThings AP information handle
- * @param[out] ssid The SSID name
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- *
- * @see smartthings_set_wifi_ap_provisioning_cb()
- * @see smartthings_unset_wifi_ap_provisioning_cb()
- */
-int smartthings_apinfo_get_ssid(smartthings_ap_info_h ap_info_h, char **ssid);
-
-/**
- * @brief Gets password of access point.
- * @since_ses 1
- *
- * @remarks The @a pwd should be released using free().
- *
- * @param[in] ap_info_h The SmartThings AP information handle
- * @param[out] pwd The password
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- *
- * @see smartthings_set_wifi_ap_provisioning_cb()
- * @see smartthings_unset_wifi_ap_provisioning_cb()
- */
-int smartthings_apinfo_get_password(smartthings_ap_info_h ap_info_h, char **pwd);
-
-/**
- * @brief Gets authentification type of access point.
- * @since_ses 1
- *
- * @param[in] ap_info_h The SmartThings AP information handle
- * @param[out] authtype The authentification type
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- *
- * @see smartthings_set_wifi_ap_provisioning_cb()
- * @see smartthings_unset_wifi_ap_provisioning_cb()
- */
-int smartthings_apinfo_get_authtype(smartthings_ap_info_h ap_info_h, smartthings_wifi_authtype_e *authtype);
-
-/**
- * @brief Gets encryption type of access point.
- * @since_ses 1
- *
- * @param[in] ap_info_h The SmartThings AP information handle
- * @param[out] enctype The encryption type
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- *
- * @see smartthings_set_wifi_ap_provisioning_cb()
- * @see smartthings_unset_wifi_ap_provisioning_cb()
- */
-int smartthings_apinfo_get_enctype(smartthings_ap_info_h ap_info_h, smartthings_wifi_enctype_e *enctype);
-
-/**
- * @brief Gets channel information of access point.
- * @since_ses 1
- *
- * @param[in] ap_info_h The SmartThings AP information handle
- * @param[out] channel The frequency channel
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- *
- * @see smartthings_set_wifi_ap_provisioning_cb()
- * @see smartthings_unset_wifi_ap_provisioning_cb()
- */
-int smartthings_apinfo_get_channel(smartthings_ap_info_h ap_info_h, int *channel);
-
-/**
- * @brief Gets language of device provisioing information.
- * @since_ses 1
- *
- * @remarks The @a language should be released using free().
- *
- * @param[in] dev_prov_h The SmartThings device provisioning information handle
- * @param[out] language The IETF language tag using ISO 639X
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- *
- * @see smartthings_set_device_provisioning_cb()
- * @see smartthings_unset_device_provisioning_cb()
- */
-int smartthings_devinfo_get_language(smartthings_device_prov_info_h dev_prov_h, char **language);
-
-/**
- * @brief Gets country of device provisioing information.
- * @since_ses 1
- *
- * @remarks The @a country should be released using free().
- *
- * @param[in] dev_prov_h The SmartThings device provisioning information handle
- * @param[out] country The ISO Country Code (ISO 3166-1 Alpha-2)
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- *
- * @see smartthings_set_device_provisioning_cb()
- * @see smartthings_unset_device_provisioning_cb()
- */
-int smartthings_devinfo_get_country(smartthings_device_prov_info_h dev_prov_h, char **country);
-
-/**
- * @brief Gets datetime of device provisioing information.
- * @since_ses 1
- *
- * @remarks The @a datetime should be released using free().
- *
- * @param[in] dev_prov_h The SmartThings device provisioning information handle
- * @param[out] datetime The date and time
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- *
- * @see smartthings_set_device_provisioning_cb()
- * @see smartthings_unset_device_provisioning_cb()
- */
-int smartthings_devinfo_get_datetime(smartthings_device_prov_info_h dev_prov_h, char **datetime);
-
-/**
- * @brief Creates a SmartThings AP list handle.
- * @since_ses 1
- *
- * @remarks The @a ap_list_h must be released using smartthings_aplist_destroy().
- *
- * @param[out] ap_list_h The SmartThings AP list handle to be newly created on success
- * @param[in] count The count of AP
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_OUT_OF_MEMORY Out of memory
- *
- * @see smartthings_aplist_destroy()
- */
-int smartthings_aplist_create(smartthings_ap_list_h *ap_list_h, unsigned int count);
-
-/**
- * @brief Destroys a SmartThings AP list handle.
- * @since_ses 1
- *
- * @param[in] ap_list_h The SmartThings AP list handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_aplist_create()
- */
-int smartthings_aplist_destroy(smartthings_ap_list_h ap_list_h);
-
-/**
- * @brief Sets SSID at the specific index of AP list handle.
- * @since_ses 1
- *
- * @param[in] ap_list_h The SmartThings AP list handle
- * @param[in] idx The index
- * @param[in] ssid The SSID of AP
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_aplist_create()
- * @see smartthings_aplist_destroy()
- */
-int smartthings_aplist_set_ssid(smartthings_ap_list_h ap_list_h, int idx, const char *ssid);
-
-/**
- * @brief Sets BSSID at the specific index of AP list handle.
- * @since_ses 1
- *
- * @param[in] ap_list_h The SmartThings AP list handle
- * @param[in] idx The index
- * @param[in] bssid The BSSID of AP
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_aplist_create()
- * @see smartthings_aplist_destroy()
- */
-int smartthings_aplist_set_bssid(smartthings_ap_list_h ap_list_h, int idx, const char *bssid);
-
-/**
- * @brief Sets authentification type at the specific index of AP list handle.
- * @since_ses 1
- *
- * @param[in] ap_list_h The SmartThings AP list handle
- * @param[in] idx The index
- * @param[in] authtype The authentification type of AP
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_aplist_create()
- * @see smartthings_aplist_destroy()
- */
-int smartthings_aplist_set_authtype(smartthings_ap_list_h ap_list_h, int idx, smartthings_wifi_authtype_e authtype);
-
-/**
- * @brief Sets encryption type at the specific index of AP list handle.
- * @since_ses 1
- *
- * @param[in] ap_list_h The SmartThings AP list handle
- * @param[in] idx The index
- * @param[in] enctype The encryption type of AP
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_aplist_create()
- * @see smartthings_aplist_destroy()
- */
-int smartthings_aplist_set_enctype(smartthings_ap_list_h ap_list_h, int idx, smartthings_wifi_enctype_e enctype);
-
-/**
- * @brief Sets frequency channel at the specific index of AP list handle.
- * @since_ses 1
- *
- * @param[in] ap_list_h The SmartThings AP list handle
- * @param[in] idx The index
- * @param[in] channel The frequency channel of AP
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_aplist_create()
- * @see smartthings_aplist_destroy()
- */
-int smartthings_aplist_set_channel(smartthings_ap_list_h ap_list_h, int idx, int channel);
-
-/**
- * @brief Sets signal level at the specific index of AP list handle.
- * @since_ses 1
- *
- * @param[in] ap_list_h The SmartThings AP list handle
- * @param[in] idx The index
- * @param[in] signal_level The signal level of AP
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_aplist_create()
- * @see smartthings_aplist_destroy()
- */
-int smartthings_aplist_set_signal_level(smartthings_ap_list_h ap_list_h, int idx, int signal_level);
-
-/**
- * @brief Sets max speed rate at the specific index of AP list handle.
- * @since_ses 1
- *
- * @param[in] ap_list_h The SmartThings AP list handle
- * @param[in] idx The index
- * @param[in] max_rate The max speed rate of AP
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_aplist_create()
- * @see smartthings_aplist_destroy()
- */
-int smartthings_aplist_set_max_rate(smartthings_ap_list_h ap_list_h, int idx, int max_rate);
-
-/**
- * @brief Sends the scanned AP list.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing \n
- *            %http://tizen.org/privilege/internet
- *
- * @param[in] handle The SmartThings handle
- * @param[in] ap_list_h The SmartThings AP list handle
- * @param[in] req_id The request ID
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_aplist_create()
- * @see smartthings_aplist_destroy()
- * @see smartthings_set_scan_ap_cb()
- */
-int smartthings_send_ap_list(smartthings_h handle, smartthings_ap_list_h ap_list_h, int req_id);
-
-/**
- * @brief Creates a SmartThings cloud information handle.
- * @since_ses 1
- *
- * @remarks The @a cloud_info_h must be released using smartthings_cloudinfo_destroy().
- *
- * @param[out] cloud_info_h The SmartThings cloud information handle to be newly created on success
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_OUT_OF_MEMORY Out of memory
- *
- * @see smartthings_cloudinfo_destroy()
- */
-int smartthings_cloudinfo_create(smartthings_cloud_info_h *cloud_info_h);
-
-/**
- * @brief Destroys a SmartThings cloud information handle.
- * @since_ses 1
- *
- * @param[in] cloud_info_h The SmartThings cloud information handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_cloudinfo_create()
- */
-int smartthings_cloudinfo_destroy(smartthings_cloud_info_h cloud_info_h);
-
-/**
- * @brief Sets region of cloud information.
- * @since_ses 1
- *
- * @remarks The @a region can be set to one of "global" or "china".
- * @remarks If it doesn't use this function, the @a region will be set to "global" internally.
- *
- * @param[in] cloud_info_h The SmartThings cloud information handle
- * @param[in] region The region name
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_cloudinfo_set_region(smartthings_cloud_info_h cloud_info_h, const char *region);
-
-/**
- * @brief Sets authentification provider of cloud information.
- * @since_ses 1
- *
- * @param[in] cloud_info_h The SmartThings cloud information handle
- * @param[in] auth_provider The authentification provider
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_cloudinfo_set_auth_provider(smartthings_cloud_info_h cloud_info_h, const char *auth_provider);
-
-/**
- * @brief Sets access token of cloud information.
- * @since_ses 1
- *
- * @param[in] cloud_info_h The SmartThings cloud information handle
- * @param[in] access_token The access token
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_cloudinfo_set_access_token(smartthings_cloud_info_h cloud_info_h, const char *access_token);
-
-/**
- * @brief Sets refresh token of cloud information.
- * @since_ses 1
- *
- * @param[in] cloud_info_h The SmartThings cloud information handle
- * @param[in] refresh_token The refresh token
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_cloudinfo_set_refresh_token(smartthings_cloud_info_h cloud_info_h, const char *refresh_token);
-
-/**
- * @brief Sets user ID of cloud information.
- * @since_ses 1
- *
- * @param[in] cloud_info_h The SmartThings cloud information handle
- * @param[in] user_id The user ID
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_cloudinfo_set_user_id(smartthings_cloud_info_h cloud_info_h, const char *user_id);
-
-/**
- * @brief Sets client ID of cloud information.
- * @since_ses 1
- *
- * @param[in] cloud_info_h The SmartThings cloud information handle
- * @param[in] client_id The client ID
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_cloudinfo_set_client_id(smartthings_cloud_info_h cloud_info_h, const char *client_id);
-
-/**
- * @brief Requests to sign up to cloud.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing \n
- *            %http://tizen.org/privilege/internet
- *
- * @param[in] handle The SmartThings handle
- * @param[in] cloud_info_h The handle for cloud signup
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- */
-int smartthings_sign_up_cloud(smartthings_h handle, smartthings_cloud_info_h cloud_info_h);
-
-/**
- * @brief Sets preconfigured PIN.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] handle The SmartThings handle
- * @param[in] pin The PIN code to preconfigure
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- */
-int smartthings_set_preconfigured_pin(smartthings_h handle, const char* pin);
-
-/**
- * @brief Sets MOT(multiple ownership transfer) status.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] handle The SmartThings handle
- * @param[in] enable The MOT(multiple ownership transfer) status
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_ERROR_NONE Successful
- * @retval #SMARTTHINGS_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE Service unavailable
- */
-int smartthings_set_mot_status(smartthings_h handle, bool enable);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SAMSUNG_EXPERIENCE_SERVICE_SMARTTHINGS_H__ */
diff --git a/inc/smartthings_payload.h b/inc/smartthings_payload.h
deleted file mode 100644 (file)
index 988585d..0000000
+++ /dev/null
@@ -1,663 +0,0 @@
-/*****************************************************************
- *
- * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************/
-
-
-#ifndef __SAMSUNG_EXPERIENCE_SERVICE_SMARTTHINGS_PAYLOAD_H__
-#define __SAMSUNG_EXPERIENCE_SERVICE_SMARTTHINGS_PAYLOAD_H__
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdbool.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @file smartthings_payload.h
- */
-
-/**
- * @addtogroup CAPI_SMARTTHINGS_THING_PAYLOAD_MODULE
- * @{
- */
-
-/**
- * @brief The SmartThings payload handle.
- * @since_ses 1
- */
-typedef struct smartthings_payload_s *smartthings_payload_h;
-
-/**
- * @brief Creates a SmartThings payload handle.
- * @since_ses 1
- *
- * @remarks The @a payload must be released using smartthings_payload_destroy().
- * @remarks If the @a payload is set to parent payload as an object or object array
- *          using smartthings_payload_set_object() or smartthings_payload_set_object_array(),
- *          the @a payload must not be released.
-
- * @param[out] payload The SmartThings payload handle to be newly created on success
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OUT_OF_MEMORY Out of memory
- *
- * @see smartthings_payload_destroy()
- */
-int smartthings_payload_create(smartthings_payload_h *payload);
-
-/**
- * @brief Destroys a SmartThings payload handle and releases all its resources.
- * @since_ses 1
- *
- * @remarks If the @a payload has child payload, its child payload will be released as well.
- *
- * @param[in] payload The SmartThings payload handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_payload_create()
- */
-int smartthings_payload_destroy(smartthings_payload_h payload);
-
-/**
- * @brief Sets an integer value for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The function replaces any existing value for the given @a attr_name.
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[in] value The value to set
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_payload_set_int(smartthings_payload_h payload, const char *attr_name, int value);
-
-/**
- * @brief Sets a boolean value for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The function replaces any existing value for the given @a attr_name.
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[in] value The value to set
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_payload_set_bool(smartthings_payload_h payload, const char *attr_name, bool value);
-
-/**
- * @brief Sets a double value for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The function replaces any existing value for the given @a attr_name.
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[in] value The value to set
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_payload_set_double(smartthings_payload_h payload, const char *attr_name, double value);
-
-/**
- * @brief Sets a string value for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The function replaces any existing value for the given @a attr_name.
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[in] value The value to set
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_payload_set_string(smartthings_payload_h payload, const char *attr_name, const char *value);
-
-/**
- * @brief Sets a byte string value and length for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The function replaces any existing value for the given @a attr_name.
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[in] value The value to set
- * @param[in] length The size of value
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OPERATION_FAILED Operation failed
- */
-int smartthings_payload_set_byte_string(smartthings_payload_h payload, const char *attr_name, const char *value, unsigned int length);
-
-/**
- * @brief Sets an object value for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The @a value is SmartThings payload handle.
- * @remarks The function replaces any existing value for the given @a attr_name.
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[in] value The value to set
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_payload_set_object(smartthings_payload_h payload, const char *attr_name, smartthings_payload_h value);
-
-/**
- * @brief Sets an integer array for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The function replaces any existing array for the given @a attr_name.
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[in] array The array associated with the given attribute name
- * @param[in] length The length of @a array
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_payload_set_int_array(smartthings_payload_h payload, const char *attr_name, const int *array, unsigned int length);
-
-/**
- * @brief Sets a boolean array for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The function replaces any existing array for the given @a attr_name.
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[in] array The array associated with the given attribute name
- * @param[in] length The length of @a array
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_payload_set_bool_array(smartthings_payload_h payload, const char *attr_name, const bool *array, unsigned int length);
-
-/**
- * @brief Sets a double array for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The function replaces any existing array for the given @a attr_name.
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[in] array The array associated with the given attribute name
- * @param[in] length The length of @a array
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_payload_set_double_array(smartthings_payload_h payload, const char *attr_name, const double *array, unsigned int length);
-
-/**
- * @brief Sets a string array for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The function replaces any existing array for the given @a attr_name.
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[in] array The array associated with the given attribute name
- * @param[in] length The length of @a array
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_payload_set_string_array(smartthings_payload_h payload, const char *attr_name, const char **array, unsigned int length);
-
-/**
- * @brief Sets an object array for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The function replaces any existing array for the given @a attr_name.
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[in] array The array associated with the given attribute name
- * @param[in] length The length of @a array
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OUT_OF_MEMORY Out of memory
- */
-int smartthings_payload_set_object_array(smartthings_payload_h payload, const char *attr_name, smartthings_payload_h *array, unsigned int length);
-
-/**
- * @brief Adds a payload for child resource of collection resource.
- * @since_ses 1
- *
- * @remarks The @a resource_uri is key value, one of several child resources of the collection resource.
- * @remarks The @a value is SmartThings payload handle.
- * @remarks The function replaces any existing payload for the given @a resource_uri.
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] resource_uri The resource URI of child resource
- * @param[in] value The payload associated with the given resource URI
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- */
-int smartthings_payload_add_collection_object(smartthings_payload_h payload, const char *resource_uri, smartthings_payload_h value);
-
-/**
- * @brief Gets an integer value for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[out] value The value associated with the given attribute name
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NO_DATA No data
- */
-int smartthings_payload_get_int(smartthings_payload_h payload, const char *attr_name, int *value);
-
-/**
- * @brief Gets a boolean value for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[out] value The value associated with the given attribute name
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NO_DATA No data
- */
-int smartthings_payload_get_bool(smartthings_payload_h payload, const char *attr_name, bool *value);
-
-/**
- * @brief Gets a double value for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[out] value The value associated with the given attribute name
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NO_DATA No data
- */
-int smartthings_payload_get_double(smartthings_payload_h payload, const char *attr_name, double *value);
-
-/**
- * @brief Gets a string value for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The @a value should be released using free().
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[out] value The value associated with the given attribute name
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NO_DATA No data
- */
-int smartthings_payload_get_string(smartthings_payload_h payload, const char *attr_name, char **value);
-
-/**
- * @brief Gets a byte string value and length for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The @a value should be released using free().
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[out] value The value associated with the given attribute name
- * @param[out] length The size of value
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NO_DATA No data
- */
-int smartthings_payload_get_byte_string(smartthings_payload_h payload, const char *attr_name, char **value, unsigned int *length);
-
-/**
- * @brief Gets an object value for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The @a value is SmartThings payload handle.
- * @remarks The @a value must be released using smartthings_payload_release_object().
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[out] value The value associated with the given attribute name
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NO_DATA No data
- */
-int smartthings_payload_get_object(smartthings_payload_h payload, const char *attr_name, smartthings_payload_h *value);
-
-/**
- * @brief Gets an integer array for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The @a array must be released using smartthings_payload_release_int_array().
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[out] array The array associated with the given attribute name
- * @param[out] length The length of @a array
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NO_DATA No data
- *
- * @see smartthings_payload_release_int_array()
- */
-int smartthings_payload_get_int_array(smartthings_payload_h payload, const char *attr_name, int **array, unsigned int *length);
-
-/**
- * @brief Gets a boolean array for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The @a array must be released using smartthings_payload_release_bool_array().
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[out] array The array associated with the given attribute name
- * @param[out] length The length of @a array
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NO_DATA No data
- *
- * @see smartthings_payload_release_bool_array()
- */
-int smartthings_payload_get_bool_array(smartthings_payload_h payload, const char *attr_name, bool **array, unsigned int *length);
-
-/**
- * @brief Gets a double array for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The @a array must be released using smartthings_payload_release_double_array().
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[out] array The array associated with the given attribute name
- * @param[out] length The length of @a array
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NO_DATA No data
- *
- * @see smartthings_payload_release_double_array()
- */
-int smartthings_payload_get_double_array(smartthings_payload_h payload, const char *attr_name, double **array, unsigned int *length);
-
-/**
- * @brief Gets a string array for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The @a array must be released using smartthings_payload_release_string_array().
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[out] array The array associated with the given attribute name
- * @param[out] length The length of @a array
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NO_DATA No data
- *
- * @see smartthings_payload_release_string_array()
- */
-int smartthings_payload_get_string_array(smartthings_payload_h payload, const char *attr_name, char ***array, unsigned int *length);
-
-/**
- * @brief Gets an object array for the attribute name.
- * @since_ses 1
- *
- * @remarks The @a attr_name is key value, one of several properties of the resource type.
- * @remarks The @a array is a list of SmartThings payload handle.
- * @remarks The @a array must be released using smartthings_payload_release_object_array().
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] attr_name The attribute name
- * @param[out] array The array associated with the given attribute name
- * @param[out] length The length of @a array
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NO_DATA No data
- *
- * @see smartthings_payload_release_object_array()
- */
-int smartthings_payload_get_object_array(smartthings_payload_h payload, const char *attr_name, smartthings_payload_h **array, unsigned int *length);
-
-/**
- * @brief Gets a payload for child resource of collection resource.
- * @since_ses 1
- *
- * @remarks The @a resource_uri is key value, one of several child resources of the collection resource.
- * @remarks The @a value is SmartThings payload handle.
- * @remarks The @a value must be released using smartthings_payload_release_object().
- *
- * @param[in] payload The SmartThings payload handle
- * @param[in] resource_uri The resource URI of child resource
- * @param[out] value The payload associated with the given resource URI
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NO_DATA No data
- */
-int smartthings_payload_get_collection_object(smartthings_payload_h payload, const char *resource_uri, smartthings_payload_h *value);
-
-/**
- * @brief Releases an integer array of the SmartThings payload.
- * @since_ses 1
- *
- * @param[in] array The array to release
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_payload_get_int_array()
- */
-int smartthings_payload_release_int_array(int *array);
-
-/**
- * @brief Releases a boolean array of the SmartThings payload.
- * @since_ses 1
- *
- * @param[in] array The array to release
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_payload_get_bool_array()
- */
-int smartthings_payload_release_bool_array(bool *array);
-
-/**
- * @brief Releases a double array of the SmartThings payload.
- * @since_ses 1
- *
- * @param[in] array The array to release
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_payload_get_double_array()
- */
-int smartthings_payload_release_double_array(double *array);
-
-/**
- * @brief Releases a string array of the SmartThings payload.
- * @since_ses 1
- *
- * @param[in] array The array to release
- * @param[in] length The length of @a array
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_payload_get_string_array()
- */
-int smartthings_payload_release_string_array(char **array, unsigned int length);
-
-/**
- * @brief Releases an object array of the SmartThings payload.
- * @since_ses 1
- *
- * @param[in] array The array to release
- * @param[in] length The length of @a array
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_payload_get_object_array()
- */
-int smartthings_payload_release_object_array(smartthings_payload_h *array, unsigned int length);
-
-/**
- * @brief Releases a SmartThings payload.
- * @since_ses 1
- *
- * @remarks The function is different with smartthings_payload_destroy().
- * @remarks The function releases only payload value that is obtained by smartthings_payload_get_object().
- *
- * @param[in] payload The payload to release
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_payload_get_object()
- */
-int smartthings_payload_release_object(smartthings_payload_h payload);
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SAMSUNG_EXPERIENCE_SERVICE_SMARTTHINGS_PAYLOAD_H__ */
diff --git a/inc/smartthings_resource.h b/inc/smartthings_resource.h
deleted file mode 100644 (file)
index 1968c50..0000000
+++ /dev/null
@@ -1,364 +0,0 @@
-/*****************************************************************
- *
- * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- ******************************************************************/
-
-
-#ifndef __SAMSUNG_EXPERIENCE_SERVICE_SMARTTHINGS_RESOURCE_H__
-#define __SAMSUNG_EXPERIENCE_SERVICE_SMARTTHINGS_RESOURCE_H__
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdbool.h>
-#include <tizen.h>
-#include <smartthings_payload.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @file smartthings_resource.h
- */
-
-/**
- * @addtogroup CAPI_SMARTTHINGS_THING_RESOURCE_MODULE
- * @{
- */
-
-/**
- * @brief Enumeration for the SmartThings resource error.
- * @since_ses 1
- */
-typedef enum {
-       SMARTTHINGS_RESOURCE_ERROR_NONE = TIZEN_ERROR_NONE,                                /**< Successful */
-       SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER,      /**< Invalid parameter */
-       SMARTTHINGS_RESOURCE_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY,              /**< Out of memory */
-       SMARTTHINGS_RESOURCE_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED,      /**< Permission denied */
-       SMARTTHINGS_RESOURCE_ERROR_NO_DATA = TIZEN_ERROR_NO_DATA,                          /**< No data */
-       SMARTTHINGS_RESOURCE_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED,                      /**< Not supported */
-       SMARTTHINGS_RESOURCE_ERROR_OPERATION_FAILED = TIZEN_ERROR_UNKNOWN - 1,             /**< Operation failed */
-       SMARTTHINGS_RESOURCE_ERROR_SERVICE_UNAVAILABLE = TIZEN_ERROR_UNKNOWN -2            /**< Service unavailable */
-} smartthings_resource_error_e;
-
-/**
- * @brief Enumeration for the request type of resource and collection resource.
- * @since_ses 1
- */
-typedef enum {
-       SMARTTHINGS_RESOURCE_REQUEST_GET = 0,              /**< Get request type */
-       SMARTTHINGS_RESOURCE_REQUEST_SET = 1,              /**< Set request type */
-       SMARTTHINGS_RESOURCE_REQUEST_COLLECTION_GET = 2,   /**< Get request type for collection */
-       SMARTTHINGS_RESOURCE_REQUEST_COLLECTION_SET = 3    /**< Set request type for collection */
-} smartthings_resource_req_type_e;
-
-/**
- * @brief Enumeration for RPC connection status.
- * @since_ses 1
- */
-typedef enum {
-       SMARTTHINGS_RESOURCE_CONNECTION_STATUS_CONNECTED = 0,          /**< Connection is connected */
-       SMARTTHINGS_RESOURCE_CONNECTION_STATUS_DISCONNECTED,           /**< Connection is disconnected */
-       SMARTTHINGS_RESOURCE_CONNECTION_STATUS_REJECTED,               /**< Connection is rejected */
-} smartthings_resource_connection_status_e;
-
-/**
- * @brief The SmartThings resource handle.
- * @since_ses 1
- */
-typedef struct smartthings_resource_s *smartthings_resource_h;
-
-/**
- * @brief Callback for status of connection to SmartThings Thing agent.
- * @since_ses 1
- *
- * @remarks The @a handle should not be released.
- * @remarks The @a handle is the same object for which the callback was set/added.
- * @remarks The @a handle will be released when smartthings_deinitialize() is called.
- * @remarks When callback is called, user can see connection status as #smartthings_connection_status_e enumeration value.
- *
- * @param[in] result The result of connection operation
- * @param[in] handle The SmartThings handle
- * @param[in] status The status of connection
- * @param[in] user_data The user data passed from the callback registration function
- *
- * @see smartthings_resource_initialize()
- */
-typedef void (*smartthings_resource_connection_status_cb)(smartthings_resource_h handle, smartthings_resource_connection_status_e status, void *user_data);
-
-/**
- * @brief Callback for handling request(GET/SET) messages.
- * @since_ses 1
- *
- * @remarks The @a payload is NULL when @a req_type is #SMARTTHINGS_RESOURCE_REQUEST_GET.
- * @remarks The @a payload can be used only in the callback. To use outside, make a copy.
- * @remarks The @a st_h should not be released.
- * @remarks The @a st_h is the same object for which the callback was set/added.
- * @remarks The @a st_h will be released when smartthings_resource_deinitialize() is called.
- * @remarks The @a payload should not be released.
- * @remarks The @a uri can be used only in the callback. To use outside, make a copy.
- *
- * @param[in] st_h The SmartThings resource handle
- * @param[in] req_id The request ID of request message
- * @param[in] uri The resource URI
- * @param[in] req_type The request type for request message
- * @param[in] payload The payload for SET request message
- * @param[in] user_data The user data passed from the callback registration function
- *
- * @see smartthings_resource_set_request_cb()
- * @see smartthings_resource_unset_request_cb()
- */
-typedef void (*smartthings_resource_request_cb)(smartthings_resource_h st_h, int req_id, const char *uri,
-                                                                                               smartthings_resource_req_type_e req_type,
-                                                                                               smartthings_payload_h payload, void *user_data);
-
-/**
- * @brief Callback for status of resource registration to cloud.
- * @since_ses 1
- *
- * @remarks This callback will be called when status of resource registration is changed.
- * @remarks The @a st_h should not be released.
- * @remarks The @a st_h is the same object for which the callback was set/added.
- * @remarks The @a st_h will be released when smartthings_resource_deinitialize() is called.
- * @remarks The @a is_registered will be true when resources are registered to cloud.
- *
- * @param[in] st_h The SmartThings resource handle
- * @param[in] is_registered The status of resource registration to cloud
- * @param[in] user_data The user data passed from the callback registration function
- *
- * @see smartthings_resource_set_cloud_registration_status_cb()
- * @see smartthings_resource_unset_cloud_registration_status_cb()
- */
-typedef void (*smartthings_resource_cloud_registration_status_cb)(smartthings_resource_h st_h, bool is_registered, void *user_data);
-
-
-/**
- * @brief Initializes a resource handle and connects to agent.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.resource \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @remarks The @a st_h must be released using smartthings_resource_deinitialize().
- * @remarks Ths function returns #SMARTTHINGS_RESOURCE_ERROR_PERMISSION_DENIED\n
- *          if the application has no app-defined privilege for 'http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.resource'.
- *
- * @param[out] st_h The SmartThings resource handle to be newly created on success
- * @param[in] connection_status_cb The connection status callback to register
- * @param[in] user_data The user data to be passed to the callback function
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #SMARTTHINGS_RESOURCE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NOT_SUPPORTED Not supported
- * @retval #SMARTTHINGS_RESOURCE_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_resource_deinitialize()
- */
-int smartthings_resource_initialize(smartthings_resource_h *st_h,
-                                                                  smartthings_resource_connection_status_cb connection_status_cb,
-                                                                  void *user_data);
-
-/**
- * @brief Deinitializes a resource handle and disconnects from the agent.
- * @since_ses 1
- *
- * @param[in] st_h The SmartThings resource handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- *
- * @see smartthings_resource_initialize()
- */
-int smartthings_resource_deinitialize(smartthings_resource_h st_h);
-
-/**
- * @brief Sets resource request callback.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.resource \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] st_h The SmartThings resource handle
- * @param[in] req_cb The request callback to register
- * @param[in] user_data The user data to be passed to the callback function
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_RESOURCE_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_resource_unset_request_cb()
- */
-int smartthings_resource_set_request_cb(smartthings_resource_h st_h,
-                                                               smartthings_resource_request_cb req_cb,
-                                                               void *user_data);
-
-/**
- * @brief Unsets resource request callback.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.resource \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] st_h The SmartThings resource handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_RESOURCE_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_resource_set_request_cb()
- */
-int smartthings_resource_unset_request_cb(smartthings_resource_h st_h);
-
-/**
- * @brief Sends response for resource request message.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.resource \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing \n
- *            %http://tizen.org/privilege/internet
- *
- * @param[in] st_h The SmartThings resource handle
- * @param[in] req_id The request ID of request message
- * @param[in] uri The resource URI
- * @param[in] payload The payload of response message
- * @param[in] result The result of response
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_RESOURCE_ERROR_SERVICE_UNAVAILABLE Service unavailable
- */
-int smartthings_resource_send_response(smartthings_resource_h st_h, int req_id, const char *uri, smartthings_payload_h payload, bool result);
-
-/**
- * @brief Notifies resource change.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.resource \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing \n
- *            %http://tizen.org/privilege/internet
- *
- * @param[in] st_h The SmartThings resource handle
- * @param[in] uri The resource URI
- * @param[in] payload The payload of response message
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_RESOURCE_ERROR_SERVICE_UNAVAILABLE Service unavailable
- */
-int smartthings_resource_notify(smartthings_resource_h st_h, const char *uri, smartthings_payload_h payload);
-
-/**
- * @brief Gets resource URIs.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.resource \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @remarks The @a uris should be released using free().
- *
- * @param[in] st_h The SmartThings resource handle
- * @param[out] count The resource count
- * @param[out] uris The resource URI list
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_RESOURCE_ERROR_SERVICE_UNAVAILABLE Service unavailable
- */
-int smartthings_resource_get_uris(smartthings_resource_h st_h, int *count, char ***uris);
-
-/**
- * @brief Sets cloud registration callback.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.resource \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] st_h The SmartThings resource handle
- * @param[in] reg_cb The callback to register
- * @param[in] user_data The user data to be passed to the callback function
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_RESOURCE_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_resource_unset_cloud_registration_status_cb()
- */
-int smartthings_resource_set_cloud_registration_status_cb(smartthings_resource_h st_h,
-                                                               smartthings_resource_cloud_registration_status_cb reg_cb,
-                                                               void *user_data);
-
-/**
- * @brief Unsets cloud registration callback.
- * @since_ses 1
- * @privilege %http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.resource \n
- *            %http://tizen.org/privilege/appmanager.launch \n
- *            %http://tizen.org/privilege/datasharing
- *
- * @param[in] st_h The SmartThings resource handle
- *
- * @return @c 0 on success,
- *         otherwise a negative error value
- * @retval #SMARTTHINGS_RESOURCE_ERROR_NONE Successful
- * @retval #SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #SMARTTHINGS_RESOURCE_ERROR_PERMISSION_DENIED Permission denied
- * @retval #SMARTTHINGS_RESOURCE_ERROR_OPERATION_FAILED Operation failed
- * @retval #SMARTTHINGS_RESOURCE_ERROR_SERVICE_UNAVAILABLE Service unavailable
- *
- * @see smartthings_resource_set_cloud_registration_status_cb()
- */
-int smartthings_resource_unset_cloud_registration_status_cb(smartthings_resource_h st_h);
-
-
-/**
- * @}
- */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __SAMSUNG_EXPERIENCE_SERVICE_SMARTTHINGS_RESOURCE_H__ */
diff --git a/lib/libst_thing_master_api.so b/lib/libst_thing_master_api.so
deleted file mode 100644 (file)
index aef594a..0000000
Binary files a/lib/libst_thing_master_api.so and /dev/null differ
diff --git a/lib/libst_thing_resource_api.so b/lib/libst_thing_resource_api.so
deleted file mode 100644 (file)
index 245093f..0000000
Binary files a/lib/libst_thing_resource_api.so and /dev/null differ
diff --git a/project_def.prop b/project_def.prop
deleted file mode 100644 (file)
index b6a64c2..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-APPNAME = smart-light
-
-type = app
-profile = iot-headed-5.0
-
-USER_SRCS = src/smart-light.c
-USER_DEFS =
-USER_INC_DIRS = inc
-USER_OBJS =
-USER_LIBS = lib/libst_thing_master_api.so, lib/libst_thing_resource_api.so
-USER_EDCS =
diff --git a/shared/res/master.json b/shared/res/master.json
deleted file mode 100644 (file)
index 7d27d0f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-  "devices": [
-    {
-      "deviceType": "oic.d.light",
-      "deviceName": "***Your Device Name***",
-      "mnid": "***Your MNID***",
-      "vid": "***Your Vendor ID***"
-    }
-  ],
-  "configuration": {
-    "easySetup": {
-      "mode": 1,
-      "setupId": "***Your Setup ID***"
-    },
-    "otm": 2,
-    "crtType": 1
-  }
-}
\ No newline at end of file
diff --git a/shared/res/motion.png b/shared/res/motion.png
deleted file mode 100644 (file)
index 9765b1b..0000000
Binary files a/shared/res/motion.png and /dev/null differ
diff --git a/shared/res/resource.json b/shared/res/resource.json
deleted file mode 100644 (file)
index 14d7ba5..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-{
-  "resources": {
-    "single": [
-      {
-        "uri": "/capability/motionSensor/main/0",
-        "types": [
-          "oic.r.sensor.motion"
-        ],
-        "interfaces": [
-          "oic.if.s",
-          "oic.if.baseline"
-        ]
-      },
-      {
-        "uri": "/capability/switch/main/0",
-        "types": [
-          "x.com.st.powerswitch"
-        ],
-        "interfaces": [
-          "oic.if.a",
-          "oic.if.baseline"
-        ]
-      }
-    ]
-  },
-  "resourceTypes": [
-    {
-      "type": "oic.r.sensor.motion",
-      "properties": [
-        {
-          "key": "value",
-          "type": "boolean",
-          "readOnly": 1,
-          "mandatory": false,
-          "isArray": false
-        }
-      ]
-    },
-    {
-      "type": "x.com.st.powerswitch",
-      "properties": [
-        {
-          "key": "power",
-          "type": "string",
-          "readOnly": 3,
-          "mandatory": true,
-          "isArray": false
-        }
-      ]
-    }
-  ]
-}
\ No newline at end of file
diff --git a/src/controller.c b/src/controller.c
deleted file mode 100755 (executable)
index b8d8985..0000000
+++ /dev/null
@@ -1,645 +0,0 @@
-/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <tizen.h>
-#include <service_app.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <Ecore.h>
-
-#include "log.h"
-#include "resource/resource_infrared_motion_sensor.h"
-#include "resource/resource_led.h"
-
-// Timer duration
-#define TIMER_GATHER_INTERVAL (5.0f)
-
-// Motion sensor information
-#define SENSOR_MOTION_GPIO_NUMBER (46)
-
-// LED sensor information
-#define SENSOR_LED_GPIO_NUMBER (130)
-#define SENSOR_LED_ON "on"
-#define SENSOR_LED_OFF "off"
-
-// For using SmartThings SDK
-#define USE_ST_SDK
-#ifdef USE_ST_SDK
-#include "smartthings.h"
-#include "smartthings_resource.h"
-#include "smartthings_payload.h"
-
-// Certification file and private key file stored in the resource directory
-#define CERT_FILE "certificate.pem"
-#define PRIV_FILE "privatekey.der"
-
-// URI and key information
-#define SENSOR_MOTION_URI "/capability/motionSensor/main/0"
-#define SENSOR_MOTION_KEY "value"
-#define SENSOR_LED_URI "/capability/switch/main/0"
-#define SENSOR_LED_KEY "power"
-#endif /* USE_ST_SDK */
-
-typedef struct app_data_s {
-       Ecore_Timer *getter_timer;
-       uint32_t motion_data;
-       int led_data;
-#ifdef USE_ST_SDK
-       smartthings_h st_master_h;
-       smartthings_resource_h st_res_h;
-       smartthings_status_e status;
-#endif /* USE_ST_SDK */
-} app_data;
-
-static app_data *g_ad = NULL;
-
-#ifdef USE_ST_SDK
-static const char * _resource_error_to_str(smartthings_resource_error_e error)
-{
-       const char *err_str = NULL;
-
-       switch (error) {
-       case SMARTTHINGS_RESOURCE_ERROR_NONE:
-               err_str = "SMARTTHINGS_RESOURCE_ERROR_NONE";
-               break;
-       case SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER:
-               err_str = "SMARTTHINGS_RESOURCE_ERROR_INVALID_PARAMETER";
-               break;
-       case SMARTTHINGS_RESOURCE_ERROR_OUT_OF_MEMORY:
-               err_str = "SMARTTHINGS_RESOURCE_ERROR_OUT_OF_MEMORY";
-               break;
-       case SMARTTHINGS_RESOURCE_ERROR_PERMISSION_DENIED:
-               err_str = "SMARTTHINGS_RESOURCE_ERROR_PERMISSION_DENIED";
-               break;
-       case SMARTTHINGS_RESOURCE_ERROR_NO_DATA:
-               err_str = "SMARTTHINGS_RESOURCE_ERROR_NO_DATA";
-               break;
-       case SMARTTHINGS_RESOURCE_ERROR_NOT_SUPPORTED:
-               err_str = "SMARTTHINGS_RESOURCE_ERROR_NOT_SUPPORTED";
-               break;
-       case SMARTTHINGS_RESOURCE_ERROR_OPERATION_FAILED:
-               err_str = "SMARTTHINGS_RESOURCE_ERROR_NOT_SUPPORTED";
-               break;
-       case SMARTTHINGS_RESOURCE_ERROR_SERVICE_UNAVAILABLE:
-               err_str = "SMARTTHINGS_RESOURCE_ERROR_SERVICE_UNAVAILABLE";
-               break;
-       default:
-               err_str = "Unknown error";
-               break;
-       }
-
-       return err_str;
-}
-#endif
-
-static Eina_Bool _get_motion_sensor_data(void *user_data)
-{
-       int ret = 0;
-       uint32_t value = 0;
-       app_data *ad = user_data;
-
-       if (!ad) {
-               _E("failed to get app_data");
-               return ECORE_CALLBACK_CANCEL;
-       }
-
-       ret = resource_read_infrared_motion_sensor(SENSOR_MOTION_GPIO_NUMBER, &value);
-       if (ret != 0) {
-               _E("cannot read data from the infrared motion sensor");
-               return ECORE_CALLBACK_CANCEL;
-       }
-       ad->motion_data = value;
-
-       _D("Detected motion value is: %u", value);
-
-#ifdef USE_ST_SDK
-       int error = SMARTTHINGS_RESOURCE_ERROR_NONE;
-       smartthings_payload_h resp_payload = NULL;
-
-       if (ad->status != SMARTTHINGS_STATUS_REGISTERED_TO_CLOUD)
-               return ECORE_CALLBACK_RENEW;
-
-       error = smartthings_payload_create(&resp_payload);
-       if (error != SMARTTHINGS_RESOURCE_ERROR_NONE || !resp_payload) {
-               _E("smartthings_payload_create() failed, [%s]",
-                       _resource_error_to_str(error));
-               return ECORE_CALLBACK_CANCEL;
-       }
-
-       error = smartthings_payload_set_bool(resp_payload, SENSOR_MOTION_KEY, (bool)ad->motion_data);
-       if (error != SMARTTHINGS_RESOURCE_ERROR_NONE)
-               _E("smartthings_payload_set_bool() failed, [%s]",
-                       _resource_error_to_str(error));
-
-       error = smartthings_resource_notify(ad->st_res_h, SENSOR_MOTION_URI, resp_payload);
-       if (error != SMARTTHINGS_RESOURCE_ERROR_NONE)
-               _E("smartthings_resource_notify() failed, [%s]",
-                       _resource_error_to_str(error));
-
-       if (smartthings_payload_destroy(resp_payload))
-               _E("smartthings_payload_destroy() failed");
-#endif
-
-       return ECORE_CALLBACK_RENEW;
-}
-
-static int _set_led_data(app_data *ad, int state) {
-       int ret = 0;
-
-       ad->led_data = state;
-       ret = resource_write_led(SENSOR_LED_GPIO_NUMBER, state);
-       if (ret != 0) {
-               _E("cannot write led data");
-               return -1;
-       }
-       _I("LED : %d",state);
-
-       return 0;
-}
-
-#ifdef USE_ST_SDK
-/* SmartThings resource functions */
-static bool _handle_get_motion(smartthings_payload_h resp_payload, void *user_data)
-{
-       int error = SMARTTHINGS_RESOURCE_ERROR_NONE;
-       app_data *ad = user_data;
-
-       retv_if(!ad, false);
-
-       _D("Received a GET request for MOTION");
-
-       error = smartthings_payload_set_bool(resp_payload, SENSOR_MOTION_KEY, (bool)ad->motion_data);
-       if (error != SMARTTHINGS_RESOURCE_ERROR_NONE)
-               _E("smartthings_payload_set_bool() failed, [%s]",
-                       _resource_error_to_str(error));
-
-       return true;
-}
-
-static bool _handle_get_led(smartthings_payload_h resp_payload, void *user_data)
-{
-       app_data *ad = user_data;
-       int error = SMARTTHINGS_RESOURCE_ERROR_NONE;
-       char *str = NULL;
-
-       retv_if(!ad, false);
-
-       _D("Received a GET request for LED");
-
-       if (ad->led_data)
-               str = SENSOR_LED_ON;
-       else
-               str = SENSOR_LED_OFF;
-
-       error = smartthings_payload_set_string(resp_payload, SENSOR_LED_KEY, str);
-       if (error != SMARTTHINGS_RESOURCE_ERROR_NONE)
-               _E("smartthings_payload_set_string() failed, [%s]",
-                       _resource_error_to_str(error));
-
-       _D("Power : %s", str);
-
-       return true;
-}
-
-static bool _handle_set_led(smartthings_payload_h payload, smartthings_payload_h resp_payload, void *user_data)
-{
-       app_data *ad = user_data;
-       char *str = NULL;
-       char *res_str = NULL;
-       int ret = 0;
-       int error = SMARTTHINGS_RESOURCE_ERROR_NONE;
-
-       retv_if(!ad, false);
-
-    _D("Received a SET request");
-
-    error = smartthings_payload_get_string(payload, SENSOR_LED_KEY, &str);
-       if (error != SMARTTHINGS_RESOURCE_ERROR_NONE)
-               _E("smartthings_payload_get_string() failed, [%s]",
-                       _resource_error_to_str(error));
-
-       if (strncmp(str, SENSOR_LED_ON, strlen(SENSOR_LED_ON))) {
-               ret = _set_led_data(ad, 0);
-               res_str = SENSOR_LED_OFF;
-       } else {
-               ret = _set_led_data(ad, 1);
-               res_str = SENSOR_LED_ON;
-       }
-
-       free(str);
-       if (ret != 0) {
-               _E("cannot set LED");
-               return false;
-       }
-
-       error = smartthings_payload_set_string(resp_payload, SENSOR_LED_KEY, res_str);
-       if (error != SMARTTHINGS_RESOURCE_ERROR_NONE)
-               _E("smartthings_payload_set_string() failed, [%s]",
-                       _resource_error_to_str(error));
-
-    return true;
-}
-
-static void _request_cb(smartthings_resource_h handle, int req_id,
-       const char *uri, smartthings_resource_req_type_e req_type,
-       smartthings_payload_h payload, void *user_data)
-{
-       smartthings_payload_h resp_payload = NULL;
-       bool result = false;
-       int error = SMARTTHINGS_RESOURCE_ERROR_NONE;
-
-       _D("request on %s, type[%d], id[%d]", uri, req_type, req_id);
-
-       error = smartthings_payload_create(&resp_payload);
-       if (error != SMARTTHINGS_RESOURCE_ERROR_NONE || ! resp_payload)
-               _E("smartthings_payload_create() failed, [%s]",
-                       _resource_error_to_str(error));
-
-       if (req_type == SMARTTHINGS_RESOURCE_REQUEST_GET) {
-               if (!strncmp(uri, SENSOR_MOTION_URI, strlen(SENSOR_MOTION_URI)))
-                       result = _handle_get_motion(resp_payload, user_data);
-               else if (!strncmp(uri, SENSOR_LED_URI, strlen(SENSOR_LED_URI)))
-                       result = _handle_get_led(resp_payload, user_data);
-               else
-                       _E("No matching Resource uri to get");
-       } else if (req_type == SMARTTHINGS_RESOURCE_REQUEST_SET) {
-               if (!strncmp(uri, SENSOR_LED_URI, strlen(SENSOR_LED_URI)))
-                       result = _handle_set_led(payload, resp_payload, user_data);
-               else
-                       _E("No matching Resource uri to get");
-       } else {
-               _E("Invalid request type - %d", req_type);
-               smartthings_payload_destroy(resp_payload);
-               return;
-       }
-
-       error = smartthings_resource_send_response(handle, req_id, uri, resp_payload, result);
-       if (error != SMARTTHINGS_RESOURCE_ERROR_NONE) {
-                       _E("smartthings_resource_send_response() failed, [%s]",
-                               _resource_error_to_str(error));
-                       smartthings_payload_destroy(resp_payload);
-                       return;
-       }
-
-       if (req_type == SMARTTHINGS_RESOURCE_REQUEST_SET) {
-                       error = smartthings_resource_notify(handle, uri, resp_payload);
-                       if (error != SMARTTHINGS_RESOURCE_ERROR_NONE)
-                               _E("smartthings_resource_notify() failed, [%s]",
-                                               _resource_error_to_str(error));
-       }
-
-       if (smartthings_payload_destroy(resp_payload))
-               _E("smartthings_payload_destroy() failed");
-
-       return;
-}
-
-static void _resource_connection_status_cb(
-       smartthings_resource_h handle,
-       smartthings_resource_connection_status_e status, void *user_data)
-{
-       app_data *ad = user_data;
-
-       _D("status=[%d]", status);
-
-       ret_if(!ad);
-
-       if (status == SMARTTHINGS_RESOURCE_CONNECTION_STATUS_CONNECTED) {
-               int error = SMARTTHINGS_RESOURCE_ERROR_NONE;
-               error = smartthings_resource_set_request_cb(handle, _request_cb, ad);
-               if (error != SMARTTHINGS_RESOURCE_ERROR_NONE) {
-                       _E("smartthings_resource_set_request_cb() is failed");
-                       return;
-               }
-       } else {
-               _E("connection failed");
-       }
-}
-
-static int _init_resource(app_data *ad)
-{
-       smartthings_resource_h st_res_h = NULL;
-       int error = 0;
-
-       retv_if(!ad, -1);
-       if (ad->st_res_h) {
-               _I("Already initialized!");
-               return 0;
-       }
-
-       error = smartthings_resource_initialize(&st_res_h,
-                               _resource_connection_status_cb, ad);
-       if (error) {
-               _E("smartthings_resource_initialize() is failed, [%s]",
-                       _resource_error_to_str(error));
-               return -1;
-       }
-
-       ad->st_res_h = st_res_h;
-
-       return 0;
-}
-
-static int _fini_resource(app_data *ad)
-{
-       retv_if(!ad, -1);
-
-       if (!ad->st_res_h)
-               return 0;
-
-       smartthings_resource_unset_request_cb(ad->st_res_h);
-       smartthings_resource_deinitialize(ad->st_res_h);
-
-       ad->st_res_h = NULL;
-
-       return 0;
-}
-
-/* SmartThings master functions */
-static const char *__master_error_to_str(smartthings_error_e error)
-{
-       const char *err_str = NULL;
-
-       switch (error) {
-       case SMARTTHINGS_ERROR_NONE:
-               err_str = "SMARTTHINGS_ERROR_NONE";
-               break;
-       case SMARTTHINGS_ERROR_INVALID_PARAMETER:
-               err_str = "SMARTTHINGS_ERROR_INVALID_PARAMETER";
-               break;
-       case SMARTTHINGS_ERROR_OUT_OF_MEMORY:
-               err_str = "SMARTTHINGS_ERROR_OUT_OF_MEMORY";
-               break;
-       case SMARTTHINGS_ERROR_PERMISSION_DENIED:
-               err_str = "SMARTTHINGS_ERROR_PERMISSION_DENIED";
-               break;
-       case SMARTTHINGS_ERROR_NO_DATA:
-               err_str = "SMARTTHINGS_ERROR_NO_DATA";
-               break;
-       case SMARTTHINGS_ERROR_NOT_SUPPORTED:
-               err_str = "SMARTTHINGS_ERROR_NOT_SUPPORTED";
-               break;
-       case SMARTTHINGS_ERROR_OPERATION_FAILED:
-               err_str = "SMARTTHINGS_ERROR_OPERATION_FAILED";
-               break;
-       case SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE:
-               err_str = "SMARTTHINGS_ERROR_SERVICE_UNAVAILABLE";
-               break;
-       default:
-               err_str = "Unknown error";
-               break;
-       }
-
-       return err_str;
-}
-
-static void _user_confirm_cb(smartthings_h handle, void *user_data)
-{
-       if (smartthings_send_user_confirm(handle, true) != 0)
-               _E("smartthings_send_user_confirm() is failed");
-}
-
-static void _reset_confirm_cb(smartthings_h handle, void *user_data)
-{
-       if (smartthings_send_reset_confirm(handle, true) != 0)
-               _E("smartthings_send_reset_confirm() is failed");
-}
-
-static void _reset_result_cb(smartthings_h handle, bool result, void *user_data)
-{
-       _I("reset result = [%d]", result);
-}
-
-static void _thing_status_cb(
-               smartthings_h handle, smartthings_status_e status, void *user_data)
-{
-       app_data *ad = user_data;
-       _D("status: [%d]", status);
-       ad->status = status;
-}
-
-static void _things_connection_status_cb(
-               smartthings_h handle, smartthings_connection_status_e status,
-               void *user_data)
-{
-       _D("status = [%d]", status);
-
-       if (status == SMARTTHINGS_CONNECTION_STATUS_CONNECTED) {
-               int err = 0;
-               bool is_es_completed = false;
-               const char* dev_name = "motion-light-app";
-               int wifi_mode = SMARTTHINGS_WIFI_MODE_11B
-                       | SMARTTHINGS_WIFI_MODE_11G
-                       | SMARTTHINGS_WIFI_MODE_11N;
-
-               int wifi_freq = SMARTTHINGS_WIFI_FREQ_24G | SMARTTHINGS_WIFI_FREQ_5G;
-
-               err = smartthings_set_device_property(
-                                       handle, dev_name, wifi_mode, wifi_freq);
-               if (err) {
-                       _E("smartthings_set_device_property() is failed, [%s]",
-                               __master_error_to_str(err));
-                       return;
-               }
-
-               err = smartthings_set_certificate_file(handle, CERT_FILE, PRIV_FILE);
-               if (err) {
-                       _E("smartthings_set_certificate_file() is failed, [%s]",
-                               __master_error_to_str(err));
-                       return;
-               }
-
-               err = smartthings_set_user_confirm_cb(handle, _user_confirm_cb, NULL);
-               if (err) {
-                       _E("smartthings_set_user_confirm_cb() is failed, [%s]",
-                               __master_error_to_str(err));
-                       return;
-               }
-
-               err = smartthings_set_reset_confirm_cb(handle, _reset_confirm_cb, NULL);
-               if (err) {
-                       _E("smartthings_set_reset_confirm_cb() is failed, [%s]",
-                               __master_error_to_str(err));
-                       return;
-               }
-
-               err = smartthings_set_reset_result_cb(handle, _reset_result_cb, NULL);
-               if (err) {
-                       _E("smartthings_set_reset_result_cb() is failed, [%s]",
-                               __master_error_to_str(err));
-                       return;
-               }
-
-               err = smartthings_set_status_changed_cb(handle, _thing_status_cb, user_data);
-               if (err) {
-                       _E("smartthings_set_status_changed_callback() is failed, [%s]",
-                               __master_error_to_str(err));
-                       return;
-               }
-
-               err = smartthings_start(handle);
-               if (err) {
-                       _E("smartthings_start() is failed, [%s]",
-                               __master_error_to_str(err));
-                       return;
-               }
-
-               err = smartthings_get_easysetup_status(handle, &is_es_completed);
-               if (err) {
-                       _E("smartthings_get_easysetup_status() is failed, [%s]",
-                               __master_error_to_str(err));
-                       return;
-               }
-
-               if (is_es_completed == true) {
-                       _I("Easysetup is already done");
-                       return;
-               }
-
-               _I("Easysetup is starting now");
-               err = smartthings_start_easysetup(handle);
-               if (err) {
-                       _E("smartthings_start_easysetup() is failed, [%s]",
-                               __master_error_to_str(err));
-                       smartthings_stop(handle);
-                       return;
-               }
-       } else {
-                       _E("connection failed");
-       }
-}
-
-static int _init_master(app_data *ad)
-{
-       int err = 0;
-       smartthings_h st_handle = NULL;
-
-       retv_if(!ad, -1);
-
-       if (ad->st_master_h) {
-               _I("Already initialized!");
-               return 0;
-       }
-
-       err = smartthings_initialize(&st_handle, _things_connection_status_cb, ad);
-       if (err) {
-               _E("smartthings_initialize() is failed, [%s]",
-                       __master_error_to_str(err));
-               return -1;
-       }
-
-       ad->st_master_h = st_handle;
-
-       return 0;
-}
-
-int _fini_master(app_data *ad)
-{
-       retv_if(!ad, -1);
-
-       if (!ad->st_master_h) {
-               _I("handle is already NULL");
-               return 0;
-       }
-
-       smartthings_unset_user_confirm_cb(ad->st_master_h);
-       smartthings_unset_reset_confirm_cb(ad->st_master_h);
-       smartthings_unset_reset_result_cb(ad->st_master_h);
-       smartthings_unset_status_changed_cb(ad->st_master_h);
-
-       smartthings_stop_easysetup(ad->st_master_h);
-       smartthings_stop(ad->st_master_h);
-
-       if (smartthings_deinitialize(ad->st_master_h) != 0)  {
-               _E("smartthings_deinitialize() is failed");
-               return -1;
-       }
-       ad->st_master_h = NULL;
-
-       return 0;
-}
-#endif /* USE_ST_SDK */
-
-static bool service_app_create(void *user_data)
-{
-#ifdef USE_ST_SDK
-       app_data *ad = user_data;
-
-       if (_init_master(ad))
-               return false;
-
-       if (_init_resource(ad)) {
-               _fini_master(ad);
-               return false;
-       }
-#endif
-
-       return true;
-}
-
-static void service_app_control(app_control_h app_control, void *user_data)
-{
-       app_data *ad = user_data;
-
-       if (ad->getter_timer)
-               ecore_timer_del(ad->getter_timer);
-
-       ad->getter_timer = ecore_timer_add(TIMER_GATHER_INTERVAL, _get_motion_sensor_data, ad);
-       if (!ad->getter_timer) {
-               _E("Failed to add getter timer");
-               return;
-       }
-}
-
-static void service_app_terminate(void *user_data)
-{
-       app_data *ad = user_data;
-
-#ifdef USE_ST_SDK
-       _fini_resource(ad);
-       _fini_master(ad);
-#endif
-
-       // Turn off LED light with __set_led()
-       _set_led_data(ad, 0);
-
-       // Close Motion and LED resources
-       resource_close_infrared_motion_sensor();
-       resource_close_led();
-
-       // Free app data
-       free(ad);
-
-       FN_END;
-}
-
-int main(int argc, char *argv[])
-{
-       app_data *ad = NULL;
-       service_app_lifecycle_callback_s event_callback;
-
-       ad = calloc(1, sizeof(app_data));
-       retv_if(!ad, -1);
-
-       g_ad = ad;
-
-       event_callback.create = service_app_create;
-       event_callback.terminate = service_app_terminate;
-       event_callback.app_control = service_app_control;
-
-       return service_app_main(argc, argv, &event_callback, ad);
-}
diff --git a/src/resource/resource_infrared_motion_sensor.c b/src/resource/resource_infrared_motion_sensor.c
deleted file mode 100755 (executable)
index d0605e6..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <peripheral_io.h>
-
-#include "log.h"
-
-static peripheral_gpio_h g_sensor_h = NULL;
-static int g_pin_num = -1;
-
-void resource_close_infrared_motion_sensor(void)
-{
-       if (!g_sensor_h) return;
-
-       _I("Infrared Motion Sensor is finishing...");
-
-       peripheral_gpio_close(g_sensor_h);
-
-       g_sensor_h = NULL;
-       g_pin_num = -1;
-}
-
-int resource_read_infrared_motion_sensor(int pin_num, uint32_t *out_value)
-{
-       int ret = PERIPHERAL_ERROR_NONE;
-
-       if (!g_sensor_h) {
-               peripheral_gpio_h temp = NULL;
-
-               ret = peripheral_gpio_open(pin_num, &temp);
-               retv_if(ret, -1);
-
-               ret = peripheral_gpio_set_direction(temp, PERIPHERAL_GPIO_DIRECTION_IN);
-               if (ret) {
-                       peripheral_gpio_close(temp);
-                       _E("peripheral_gpio_set_direction failed.");
-                       return -1;
-               }
-
-               g_sensor_h = temp;
-               g_pin_num = pin_num;
-       }
-
-       if (g_pin_num != pin_num) {
-               _E("Invalid pin number.");
-               return -1;
-       }
-
-       ret = peripheral_gpio_read(g_sensor_h, out_value);
-       retv_if(ret < 0, -1);
-
-       return 0;
-}
diff --git a/src/resource/resource_led.c b/src/resource/resource_led.c
deleted file mode 100755 (executable)
index 242cf73..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <peripheral_io.h>
-
-#include "log.h"
-
-static peripheral_gpio_h g_sensor_h = NULL;
-static int g_pin_num = -1;
-
-void resource_close_led(void)
-{
-       if (!g_sensor_h) return;
-
-       _I("LED is finishing...");
-
-       peripheral_gpio_close(g_sensor_h);
-
-       g_sensor_h = NULL;
-       g_pin_num = -1;
-}
-
-int resource_write_led(int pin_num, int write_value)
-{
-       int ret = PERIPHERAL_ERROR_NONE;
-
-       if (!g_sensor_h) {
-               peripheral_gpio_h temp = NULL;
-
-               ret = peripheral_gpio_open(pin_num, &temp);
-               retv_if(ret, -1);
-
-               ret = peripheral_gpio_set_direction(temp, PERIPHERAL_GPIO_DIRECTION_OUT_INITIALLY_LOW);
-               if (ret) {
-                       peripheral_gpio_close(temp);
-                       _E("peripheral_gpio_set_direction failed.");
-                       return -1;
-               }
-
-               g_sensor_h = temp;
-               g_pin_num = pin_num;
-       }
-
-       if (g_pin_num != pin_num) {
-               _E("Invalid pin number.");
-               return -1;
-       }
-
-       ret = peripheral_gpio_write(g_sensor_h, write_value);
-       retv_if(ret < 0, -1);
-
-       _I("LED Value : %s", write_value ? "ON":"OFF");
-
-       return 0;
-}
diff --git a/tizen-manifest.xml b/tizen-manifest.xml
deleted file mode 100644 (file)
index 83d5397..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<manifest xmlns="http://tizen.org/ns/packages" api-version="5.0" package="org.example.smart-light" version="1.0.0">
-    <profile name="iot-headed"/>
-    <service-application appid="org.example.smart-light" exec="smart-light" multiple="false" nodisplay="true" on-boot="true" taskmanage="false" type="capp">
-        <label>smart-light</label>
-        <icon>smart-light.png</icon>
-        <metadata key="http://tizen.org/iot/metadata/master" value="shared/res/master.json"/>
-        <metadata key="http://tizen.org/iot/metadata/resource" value="shared/res/resource.json"/>
-        <background-category value="background-network"/>
-        <background-category value="iot-communication"/>
-    </service-application>
-    <privileges>
-        <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
-        <privilege>http://tizen.org/privilege/softap</privilege>
-        <privilege>http://tizen.org/privilege/internet</privilege>
-        <privilege>http://tizen.org/privilege/datasharing</privilege>
-        <privilege>http://tizen.org/privilege/peripheralio</privilege>
-        <appdefined-privilege>http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.resource</appdefined-privilege>
-        <appdefined-privilege>http://com.samsung.tizen.smartthings-thing/appdefined/smartthings-thing.master</appdefined-privilege>
-    </privileges>
-</manifest>