#include "icl-ioty.h"
#include "icl-cbor.h"
+static bool icl_state;
static int icl_remote_resource_time_interval = IC_REMOTE_RESOURCE_DEFAULT_TIME_INTERVAL;
static GHashTable *icl_monitoring_table;
static GHashTable *icl_caching_table;
{
FN_CALL;
int ret;
- OCStackResult result;
icl_ioty_ocprocess_stop();
ic_utils_cond_signal(IC_UTILS_COND_POLLING);
ic_utils_cond_polling_destroy();
- result = OCStop();
- if (OC_STACK_OK != result)
- ERR("OCStop() Fail(%d)", result);
+ ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = OCStop();
+ if (OC_STACK_OK != ret) {
+ ERR("OCStop() Fail(%d)", ret);
+ ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ return;
+ }
+ icl_state = false;
+ ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
}
static FILE* _icl_ioty_ps_fopen(const char *path, const char *mode)
{
FN_CALL;
int ret;
- OCStackResult result;
RETV_IF(NULL == file_path, IOTCON_ERROR_INVALID_PARAMETER);
icl_ioty_ps.close = fclose;
icl_ioty_ps.unlink = unlink;
- result = OCRegisterPersistentStorageHandler(&icl_ioty_ps);
- if (OC_STACK_OK != result) {
- ERR("OCRegisterPersistentStorageHandler() Fail(%d)", result);
+ ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = OCRegisterPersistentStorageHandler(&icl_ioty_ps);
+ if (OC_STACK_OK != ret) {
+ ERR("OCRegisterPersistentStorageHandler() Fail(%d)", ret);
+ ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
return IOTCON_ERROR_IOTIVITY;
}
+ icl_state = true;
+ ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
return IOTCON_ERROR_NONE;
}
return IOTCON_ERROR_NONE;
}
+int icl_ioty_mutex_lock()
+{
+ ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+
+ if (false == icl_state) {
+ ERR("IoTCon is not initialized");
+ ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ return IOTCON_ERROR_IOTIVITY;
+ }
+
+ return IOTCON_ERROR_NONE;
+}
+
int icl_ioty_init(pthread_t *out_thread)
{
FN_CALL;
int ret;
pthread_attr_t attr;
- OCStackResult result;
RETV_IF(NULL == out_thread, IOTCON_ERROR_INVALID_PARAMETER);
- result = OCInit(NULL, 0, OC_CLIENT_SERVER);
- if (OC_STACK_OK != result) {
- ERR("OCInit() Fail(%d)", result);
- return ic_ioty_parse_oic_error(result);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
+ ret = OCInit(NULL, 0, OC_CLIENT_SERVER);
+ icl_ioty_mutex_unlock();
+ if (OC_STACK_OK != ret) {
+ ERR("OCInit() Fail(%d)", ret);
+ return ic_ioty_parse_oic_error(ret);
}
// TODO: temp code
}
}
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
ret = OCCancel(cb_info->handle, OC_LOW_QOS, NULL, 0);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCCancel() Fail(%d)", ret);
void *user_data)
{
FN_CALL;
- int len, timeout;
+ int ret, len, timeout;
char *coap_str;
char uri[PATH_MAX] = {0};
icl_cb_s *cb_data;
OCDoHandle handle;
- OCStackResult result;
OCCallbackData cbdata = {0};
OCConnectivityType oic_conn_type;
oic_conn_type = ic_ioty_convert_connectivity_type(connectivity_type);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ _icl_ioty_free_cb_data(cb_data);
+ return ret;
+ }
+
// TODO: QoS is come from lib.
- result = OCDoResource(&handle, OC_REST_DISCOVER, uri, NULL, NULL, oic_conn_type,
+ ret = OCDoResource(&handle, OC_REST_DISCOVER, uri, NULL, NULL, oic_conn_type,
OC_LOW_QOS, &cbdata, NULL, 0);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
cb_data->handle = handle;
- if (OC_STACK_OK != result) {
- ERR("OCDoResource(DISCOVER) Fail(%d)", result);
+ if (OC_STACK_OK != ret) {
+ ERR("OCDoResource(DISCOVER) Fail(%d)", ret);
_icl_ioty_free_cb_data(cb_data);
- return ic_ioty_parse_oic_error(result);
+ return ic_ioty_parse_oic_error(ret);
}
iotcon_get_timeout(&timeout);
iotcon_device_info_cb cb,
void *user_data)
{
- int timeout;
+ int ret, timeout;
char uri[PATH_MAX] = {0};
icl_cb_s *cb_data = NULL;
OCDoHandle handle;
- OCStackResult result;
OCCallbackData cbdata = {0};
OCConnectivityType oic_conn_type;
oic_conn_type = ic_ioty_convert_connectivity_type(connectivity_type);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ _icl_ioty_free_cb_data(cb_data);
+ return ret;
+ }
// TODO: QoS is come from lib. And user can set QoS to client structure.
- result = OCDoResource(&handle, OC_REST_DISCOVER, uri, NULL, NULL, oic_conn_type,
+ ret = OCDoResource(&handle, OC_REST_DISCOVER, uri, NULL, NULL, oic_conn_type,
OC_LOW_QOS, &cbdata, NULL, 0);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
cb_data->handle = handle;
- if (OC_STACK_OK != result) {
- ERR("OCDoResource(DISCOVER) Fail(%d)", result);
+ if (OC_STACK_OK != ret) {
+ ERR("OCDoResource(DISCOVER) Fail(%d)", ret);
_icl_ioty_free_cb_data(cb_data);
- return ic_ioty_parse_oic_error(result);
+ return ic_ioty_parse_oic_error(ret);
}
iotcon_get_timeout(&timeout);
iotcon_platform_info_cb cb,
void *user_data)
{
- int timeout;
+ int ret, timeout;
char uri[PATH_MAX] = {0};
icl_cb_s *cb_data = NULL;
OCDoHandle handle;
- OCStackResult result;
OCCallbackData cbdata = {0};
OCConnectivityType oic_conn_type;
oic_conn_type = ic_ioty_convert_connectivity_type(connectivity_type);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ _icl_ioty_free_cb_data(cb_data);
+ return ret;
+ }
// TODO: QoS is come from lib. And user can set QoS to client structure.
- result = OCDoResource(&handle, OC_REST_DISCOVER, uri, NULL, NULL, oic_conn_type,
+ ret = OCDoResource(&handle, OC_REST_DISCOVER, uri, NULL, NULL, oic_conn_type,
OC_LOW_QOS, &cbdata, NULL, 0);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
cb_data->handle = handle;
- if (OC_STACK_OK != result) {
- ERR("OCDoResource(DISCOVER) Fail(%d)", result);
+ if (OC_STACK_OK != ret) {
+ ERR("OCDoResource(DISCOVER) Fail(%d)", ret);
_icl_ioty_free_cb_data(cb_data);
- return ic_ioty_parse_oic_error(result);
+ return ic_ioty_parse_oic_error(ret);
}
iotcon_get_timeout(&timeout);
return IOTCON_ERROR_OUT_OF_MEMORY;
}
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ free(device_info.deviceName);
+ return ret;
+ }
ret = OCSetDeviceInfo(device_info);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCSetDeviceInfo() Fail(%d)", ret);
return ret;
}
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ ic_utils_free_platform_info(&platform_info);
+ return ret;
+ }
ret = OCSetPlatformInfo(platform_info);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCSetPlatformInfo() Fail(%d)", ret);
void *user_data,
iotcon_presence_h *presence_handle)
{
+ int ret;
OCDoHandle handle;
const char *address;
- OCStackResult result;
char uri[PATH_MAX] = {0};
OCCallbackData cbdata = {0};
OCConnectivityType oic_conn_type;
oic_conn_type = ic_ioty_convert_connectivity_type(connectivity_type);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
- result = OCDoResource(&handle, OC_REST_PRESENCE, uri, NULL, NULL, oic_conn_type,
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ icl_destroy_presence(presence);
+ return ret;
+ }
+ ret = OCDoResource(&handle, OC_REST_PRESENCE, uri, NULL, NULL, oic_conn_type,
OC_LOW_QOS, &cbdata, NULL, 0);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
presence->handle = handle;
- if (OC_STACK_OK != result) {
- ERR("OCDoResource(PRESENCE) Fail(%d)", result);
+ if (OC_STACK_OK != ret) {
+ ERR("OCDoResource(PRESENCE) Fail(%d)", ret);
icl_destroy_presence(presence);
return IOTCON_ERROR_IOTIVITY;
}
RETV_IF(NULL == presence, IOTCON_ERROR_INVALID_PARAMETER);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
ret = OCCancel(presence->handle, OC_LOW_QOS, NULL, 0);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCCancel() Fail(%d)", ret);
cbdata.cb = icl_ioty_ocprocess_observe_cb;
cbdata.cd = _icl_ioty_free_observe_container;
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ _icl_ioty_free_observe_container(cb_container);
+ free(uri);
+ return ret;
+ }
// TODO: QoS is come from lib. And user can set QoS to client structure.
ret = OCDoResource(&handle, method, uri, &dev_addr, NULL, oic_conn_type,
OC_HIGH_QOS, &cbdata, oic_options_ptr, options_size);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCDoResource(OBSERVE:%d) Fail(%d)", method, ret);
}
handle = IC_INT64_TO_POINTER(observe_handle);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
ret = OCCancel(handle, OC_HIGH_QOS, oic_options_ptr, options_size);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCCancel() Fail(%d)", ret);
cbdata.cb = icl_ioty_ocprocess_crud_cb;
cbdata.cd = _icl_ioty_free_response_container;
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ _icl_ioty_free_response_container(cb_container);
+ return ret;
+ }
ret = OCDoResource(NULL, method, uri, &dev_addr, payload, oic_conn_type,
OC_HIGH_QOS, &cbdata, oic_options_ptr, options_size);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCDoResource(CRUD:%d) Fail(%d)", method, ret);
RETV_IF(IC_PRESENCE_TTL_SECONDS_MAX < time_to_live, IOTCON_ERROR_INVALID_PARAMETER);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
ret = OCStartPresence(time_to_live);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCStartPresence() Fail(%d)", ret);
{
int ret;
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
ret = OCStopPresence();
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCStopPresence() Fail(%d)", ret);
return ic_ioty_parse_oic_error(ret);
static int _icl_ioty_resource_bind_type(OCResourceHandle handle,
const char *resource_type)
{
- OCStackResult ret;
+ int ret;
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
ret = OCBindResourceTypeToResource(handle, resource_type);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCBindResourceTypeToResource() Fail(%d)", ret);
static int _icl_ioty_resource_bind_interface(OCResourceHandle handle,
const char *iface)
{
- OCStackResult result;
+ int ret;
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
- result = OCBindResourceInterfaceToResource(handle, iface);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
+ ret = OCBindResourceInterfaceToResource(handle, iface);
+ icl_ioty_mutex_unlock();
- if (OC_STACK_OK != result) {
- ERR("OCBindResourceInterfaceToResource() Fail(%d)", result);
- return ic_ioty_parse_oic_error(result);
+ if (OC_STACK_OK != ret) {
+ ERR("OCBindResourceInterfaceToResource() Fail(%d)", ret);
+ return ic_ioty_parse_oic_error(ret);
}
return IOTCON_ERROR_NONE;
policies = ic_ioty_convert_policies(policies);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
ret = OCCreateResource(&handle, res_types->type_list->data, ifaces->iface_list->data,
uri_path, icl_ioty_ocprocess_request_cb, resource, policies);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCCreateResource() Fail(%d)", ret);
iotcon_resource_destroy(resource);
iotcon_resource_h child)
{
FN_CALL;
- OCStackResult ret;
+ int ret;
OCResourceHandle handle_parent, handle_child;
RETV_IF(NULL == parent, IOTCON_ERROR_INVALID_PARAMETER);
handle_parent = IC_INT64_TO_POINTER(parent->handle);
handle_child = IC_INT64_TO_POINTER(child->handle);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
ret = OCBindResource(handle_parent, handle_child);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCBindResource() Fail(%d)", ret);
iotcon_resource_h child)
{
FN_CALL;
- OCStackResult ret;
+ int ret;
OCResourceHandle handle_parent, handle_child;
RETV_IF(NULL == parent, IOTCON_ERROR_INVALID_PARAMETER);
handle_parent = IC_INT64_TO_POINTER(parent->handle);
handle_child = IC_INT64_TO_POINTER(child->handle);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
ret = OCUnBindResource(handle_parent, handle_child);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCUnBindResource() Fail(%d)", ret);
handle = IC_INT64_TO_POINTER(resource->handle);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
if (payload)
ret = OCNotifyListOfObservers(handle, obs_ids, obs_length, payload, oc_qos);
else
ret = OCNotifyAllObservers(handle, oc_qos);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_NO_OBSERVERS == ret) {
WARN("No Observers. Stop Notifying");
handle = IC_INT64_TO_POINTER(resource->handle);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
ret = OCDeleteResource(handle);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCDeleteResource() Fail(%d)", ret);
policies = ic_ioty_convert_policies(policies);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ icl_ioty_lite_resource_destroy(resource);
+ return ret;
+ }
ret = OCCreateResource(&handle, res_types->type_list->data, res_iface, uri_path,
icl_ioty_ocprocess_lite_request_cb, resource, policies);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCCreateResource() Fail(%d)", ret);
icl_ioty_lite_resource_destroy(resource);
handle = IC_INT64_TO_POINTER(resource->handle);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
ret = OCDeleteResource(handle);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCDeleteResource() Fail(%d)", ret);
handle = IC_INT64_TO_POINTER(resource->handle);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
ret = OCNotifyAllObservers(handle, IOTCON_QOS_HIGH);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_NO_OBSERVERS == ret) {
WARN("No Observers. Stop Notifying");
/* related to block transfer */
response.persistentBufferFlag = 0;
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
ret = OCDoResponse(&response);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ icl_ioty_mutex_unlock();
if (OC_STACK_OK != ret) {
ERR("OCDoResponse() Fail(%d)", ret);
{
FN_CALL;
int ret;
- OCStackResult result;
RETV_IF(false == ic_utils_check_ocf_feature(), IOTCON_ERROR_NOT_SUPPORTED);
RETV_IF(false == ic_utils_check_permission((IC_PERMISSION_INTERNET
else
DBG("No provisioning DB File, creating new.");
- result = OCInitPM(db_path);
- if (OC_STACK_OK != result) {
- ERR("OCInitPM() Fail(%d)", result);
- return _provisioning_parse_oic_error(result);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ iotcon_deinitialize();
+ return ret;
+ }
+
+ ret = OCInitPM(db_path);
+ if (OC_STACK_OK != ret) {
+ ERR("OCInitPM() Fail(%d)", ret);
+ ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
+ iotcon_deinitialize();
+ return _provisioning_parse_oic_error(ret);
}
_provisioning_set_justworks();
- result = OCSetOwnerTransferCallbackData(OIC_JUST_WORKS, &icl_justworks_otmcb);
- if (OC_STACK_OK != result) {
- ERR("OCSetOwnerTransferCallbackData() Fail(%d)", result);
- return _provisioning_parse_oic_error(result);
+
+ ret = OCSetOwnerTransferCallbackData(OIC_JUST_WORKS, &icl_justworks_otmcb);
+ icl_ioty_mutex_unlock();
+ if (OC_STACK_OK != ret) {
+ ERR("OCSetOwnerTransferCallbackData() Fail(%d)", ret);
+ iotcon_deinitialize();
+ return _provisioning_parse_oic_error(ret);
}
return IOTCON_ERROR_NONE;
void *user_data)
{
FN_CALL;
- OCStackResult result;
+ int ret;
RETV_IF(false == ic_utils_check_ocf_feature(), IOTCON_ERROR_NOT_SUPPORTED);
RETV_IF(NULL == cb, IOTCON_ERROR_INVALID_PARAMETER);
_provisioning_set_randompins();
- result = OCSetOwnerTransferCallbackData(OIC_RANDOM_DEVICE_PIN, &icl_pinbased_otmcb);
- if (OC_STACK_OK != result) {
- ERR("OCSetOwnerTransferCallbackData() Fail(%d)", result);
- return _provisioning_parse_oic_error(result);
+
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return ret;
+ }
+
+ ret = OCSetOwnerTransferCallbackData(OIC_RANDOM_DEVICE_PIN, &icl_pinbased_otmcb);
+ icl_ioty_mutex_unlock();
+ if (OC_STACK_OK != ret) {
+ ERR("OCSetOwnerTransferCallbackData() Fail(%d)", ret);
+ return _provisioning_parse_oic_error(ret);
}
icl_randompins_cb_container.cb = cb;
{
FN_CALL;
int ret;
- OCStackResult result;
OCProvisionDev_t *owned_list = NULL;
OCProvisionDev_t *unowned_list = NULL;
iotcon_provisioning_devices_h temp_devices;
struct icl_provisioning_discover_cb_container *container = user_data;
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
- result = OCGetDevInfoFromNetwork(container->timeout, &owned_list, &unowned_list);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
- if (OC_STACK_OK != result) {
- ERR("OCGetDevInfoFromNetwork() Fail(%d)", result);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return NULL;
+ }
+
+ ret = OCGetDevInfoFromNetwork(container->timeout, &owned_list, &unowned_list);
+ icl_ioty_mutex_unlock();
+ if (OC_STACK_OK != ret) {
+ ERR("OCGetDevInfoFromNetwork() Fail(%d)", ret);
_provisioning_discover_cb_container_destroy(container);
return NULL;
}
{
FN_CALL;
int ret;
- OCStackResult result;
OCProvisionDev_t *unowned_list = NULL;
iotcon_provisioning_devices_h temp_devices;
struct icl_provisioning_discover_cb_container *container = user_data;
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
- result = OCDiscoverUnownedDevices(container->timeout, &unowned_list);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
- if (OC_STACK_OK != result) {
- ERR("OCDiscoverUnownedDevices() Fail(%d)", result);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return NULL;
+ }
+
+ ret = OCDiscoverUnownedDevices(container->timeout, &unowned_list);
+ icl_ioty_mutex_unlock();
+ if (OC_STACK_OK != ret) {
+ ERR("OCDiscoverUnownedDevices() Fail(%d)", ret);
_provisioning_discover_cb_container_destroy(container);
return NULL;
}
{
FN_CALL;
int ret;
- OCStackResult result;
OCProvisionDev_t *owned_list = NULL;
iotcon_provisioning_devices_h temp_devices;
struct icl_provisioning_discover_cb_container *container = user_data;
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
- result = OCDiscoverOwnedDevices(container->timeout, &owned_list);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
- if (OC_STACK_OK != result) {
- ERR("OCDiscoverOwnedDevices() Fail(%d)", result);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ return NULL;
+ }
+
+ ret = OCDiscoverOwnedDevices(container->timeout, &owned_list);
+ icl_ioty_mutex_unlock();
+ if (OC_STACK_OK != ret) {
+ ERR("OCDiscoverOwnedDevices() Fail(%d)", ret);
_provisioning_discover_cb_container_destroy(container);
return NULL;
}
{
FN_CALL;
int ret;
- OCStackResult result;
OCProvisionDev_t *dev_list;
struct icl_provisioning_ownership_transfer_cb_container *container;
dev_list = icl_provisioning_devices_get_devices(container->devices);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
- result = OCDoOwnershipTransfer(container, dev_list, _provisioning_ownership_transfer_cb);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
- if (OC_STACK_OK != result) {
- ERR("OCDoOwnershipTransfer() Fail(%d)", result);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
_provisioning_ownership_transfer_cb_container_destroy(container);
- return _provisioning_parse_oic_error(result);
+ return ret;
+ }
+
+ ret = OCDoOwnershipTransfer(container, dev_list, _provisioning_ownership_transfer_cb);
+ icl_ioty_mutex_unlock();
+ if (OC_STACK_OK != ret) {
+ ERR("OCDoOwnershipTransfer() Fail(%d)", ret);
+ _provisioning_ownership_transfer_cb_container_destroy(container);
+ return _provisioning_parse_oic_error(ret);
}
return IOTCON_ERROR_NONE;
{
FN_CALL;
int ret;
- OCStackResult result;
OCProvisionDev_t *dev_list, *cloned_list;
struct icl_provisioning_ownership_transfer_cb_container *container;
return ret;
}
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
- result = OCDoOwnershipTransfer(container, cloned_list, _provisioning_ownership_transfer_cb);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
- if (OC_STACK_OK != result) {
- ERR("OCDoOwnershipTransfer() Fail(%d)", result);
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
_provisioning_ownership_transfer_cb_container_destroy(container);
- return _provisioning_parse_oic_error(result);
+ return ret;
+ }
+
+ ret = OCDoOwnershipTransfer(container, cloned_list, _provisioning_ownership_transfer_cb);
+ icl_ioty_mutex_unlock();
+ if (OC_STACK_OK != ret) {
+ ERR("OCDoOwnershipTransfer() Fail(%d)", ret);
+ _provisioning_ownership_transfer_cb_container_destroy(container);
+ return _provisioning_parse_oic_error(ret);
}
return IOTCON_ERROR_NONE;
FN_CALL;
int ret;
size_t key_size;
- OCStackResult result;
struct icl_provisioning_provision_cred_cb_container *container;
RETV_IF(false == ic_utils_check_ocf_feature(), IOTCON_ERROR_NOT_SUPPORTED);
container->cb = cb;
container->user_data = user_data;
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
- result = OCProvisionCredentials(container,
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ _provisioning_provision_cred_cb_container_destroy(container);
+ return ret;
+ }
+
+ ret = OCProvisionCredentials(container,
SYMMETRIC_PAIR_WISE_KEY,
key_size,
icl_provisioning_device_get_device(container->device1),
icl_provisioning_device_get_device(container->device2),
_provisioning_provision_cred_cb);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
- if (OC_STACK_OK != result) {
- ERR("OCProvisionCredentails() Fail(%d)", result);
+ icl_ioty_mutex_unlock();
+ if (OC_STACK_OK != ret) {
+ ERR("OCProvisionCredentails() Fail(%d)", ret);
_provisioning_provision_cred_cb_container_destroy(container);
- return _provisioning_parse_oic_error(result);
+ return _provisioning_parse_oic_error(ret);
}
return IOTCON_ERROR_NONE;
FN_CALL;
int ret;
OicSecAcl_t *oic_acl;
- OCStackResult result;
struct icl_provisioning_provision_acl_cb_container *container;
RETV_IF(false == ic_utils_check_ocf_feature(), IOTCON_ERROR_NOT_SUPPORTED);
oic_acl = _provisioning_convert_acl(device, acl);
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
- result = OCProvisionACL(container,
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ _provisioning_provision_acl_cb_container_destroy(container);
+ return ret;
+ }
+
+ ret = OCProvisionACL(container,
icl_provisioning_device_get_device(container->device),
oic_acl,
_provisioning_provision_acl_cb);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
- if (OC_STACK_OK != result) {
- ERR("OCProvisionACL() Fail(%d)", result);
+ icl_ioty_mutex_unlock();
+ if (OC_STACK_OK != ret) {
+ ERR("OCProvisionACL() Fail(%d)", ret);
_provisioning_provision_acl_cb_container_destroy(container);
- return _provisioning_parse_oic_error(result);
+ return _provisioning_parse_oic_error(ret);
}
return IOTCON_ERROR_NONE;
FN_CALL;
int ret;
size_t key_size;
- OCStackResult result;
OicSecAcl_t *oic_acl1 = NULL;
OicSecAcl_t *oic_acl2 = NULL;
struct icl_provisioning_pairwise_devices_cb_container *container;
container->cb = cb;
container->user_data = user_data;
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
- result = OCProvisionPairwiseDevices(container,
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ _provisioning_pairwise_devices_cb_container_destroy(container);
+ return ret;
+ }
+
+ ret = OCProvisionPairwiseDevices(container,
SYMMETRIC_PAIR_WISE_KEY,
key_size,
icl_provisioning_device_get_device(container->device1),
icl_provisioning_device_get_device(container->device2),
oic_acl2,
_provisioning_pairwise_devices_cb);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
- if (OC_STACK_OK != result) {
- ERR("OCProvisionPairwiseDevces() Fail(%d)", result);
+ icl_ioty_mutex_unlock();
+ if (OC_STACK_OK != ret) {
+ ERR("OCProvisionPairwiseDevces() Fail(%d)", ret);
_provisioning_pairwise_devices_cb_container_destroy(container);
- return _provisioning_parse_oic_error(result);
+ return _provisioning_parse_oic_error(ret);
}
return IOTCON_ERROR_NONE;
{
FN_CALL;
int ret;
- OCStackResult result;
struct icl_provisioning_unlink_pairwise_cb_container *container;
RETV_IF(false == ic_utils_check_ocf_feature(), IOTCON_ERROR_NOT_SUPPORTED);
container->cb = cb;
container->user_data = user_data;
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
- result = OCUnlinkDevices(container,
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ _provisioning_unlink_pairwise_cb_container_destroy(container);
+ return ret;
+ }
+
+ ret = OCUnlinkDevices(container,
icl_provisioning_device_get_device(container->device1),
icl_provisioning_device_get_device(container->device2),
_provisioning_unlink_pairwise_cb);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
- if (OC_STACK_OK != result) {
- ERR("OCUnlinkDevices() Fail(%d)", result);
+ icl_ioty_mutex_unlock();
+ if (OC_STACK_OK != ret) {
+ ERR("OCUnlinkDevices() Fail(%d)", ret);
_provisioning_unlink_pairwise_cb_container_destroy(container);
- return _provisioning_parse_oic_error(result);
+ return _provisioning_parse_oic_error(ret);
}
return IOTCON_ERROR_NONE;
static void* _provisioning_remove_device_thread(void *user_data)
{
FN_CALL;
- OCStackResult result;
+ int ret;
struct icl_provisioning_remove_device_cb_container *container = user_data;
- ic_utils_mutex_lock(IC_UTILS_MUTEX_IOTY);
- result = OCRemoveDevice(container,
+ ret = icl_ioty_mutex_lock();
+ if (IOTCON_ERROR_NONE != ret) {
+ ERR("icl_ioty_mutex_lock() Fail(%d)", ret);
+ _provisioning_remove_cb_container_destroy(container);
+ return NULL;
+ }
+
+ ret = OCRemoveDevice(container,
container->timeout,
icl_provisioning_device_get_device(container->device),
_provisioning_remove_device_cb);
- ic_utils_mutex_unlock(IC_UTILS_MUTEX_IOTY);
- if (OC_STACK_OK != result) {
- ERR("OCRemoveDevice() Fail(%d)", result);
+ icl_ioty_mutex_unlock();
+ if (OC_STACK_OK != ret) {
+ ERR("OCRemoveDevice() Fail(%d)", ret);
_provisioning_remove_cb_container_destroy(container);
return NULL;
}