Refactored Sample App and directory structure as per the role
authorHemant Mahsky <h.mahsky@samsung.com>
Mon, 21 Sep 2015 14:51:14 +0000 (20:21 +0530)
committerMadan Lanka <lanka.madan@samsung.com>
Wed, 23 Sep 2015 05:42:26 +0000 (05:42 +0000)
Change-Id: I95b196f725b724df33f5cd5a22df68f6238e290e
Signed-off-by: Hemant Mahsky <h.mahsky@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/2871
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Madan Lanka <lanka.madan@samsung.com>
36 files changed:
service/easy-setup/Build_Instructions_Android_Arduino.txt
service/easy-setup/SConscript
service/easy-setup/sampleapp/SConscript
service/easy-setup/sampleapp/enrollee/arduino/SConscript [moved from service/easy-setup/sampleapp/arduino/thinserver/SConscript with 68% similarity]
service/easy-setup/sampleapp/enrollee/arduino/enrollee_ble.cpp [moved from service/easy-setup/sampleapp/arduino/thinserver/thinserverble.cpp with 100% similarity]
service/easy-setup/sampleapp/enrollee/arduino/enrollee_wifi.cpp [moved from service/easy-setup/sampleapp/arduino/thinserver/thinserver.cpp with 100% similarity]
service/easy-setup/sampleapp/mediator/android/.gitignore [moved from service/easy-setup/sampleapp/android/.gitignore with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/EasySetupGradle.iml [moved from service/easy-setup/sampleapp/android/EasySetup/EasySetupGradle.iml with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/build.gradle [moved from service/easy-setup/sampleapp/android/EasySetup/app/build.gradle with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/AndroidManifest.xml [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/AndroidManifest.xml with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/java/org/iotivity/service/easysetup/BLEActivity.java [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/java/org/iotivity/service/easysetup/BLEActivity.java with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/java/org/iotivity/service/easysetup/MainActivity.java [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/java/org/iotivity/service/easysetup/MainActivity.java with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/java/org/iotivity/service/easysetup/OnBoardingSelect.java [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/java/org/iotivity/service/easysetup/OnBoardingSelect.java with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/res/drawable-hdpi/background.png [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/res/drawable-hdpi/background.png with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/res/drawable-hdpi/cancel.png [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/res/drawable-hdpi/cancel.png with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/res/drawable-hdpi/ic_launcher.png [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/res/drawable-hdpi/ic_launcher.png with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/res/drawable-hdpi/icon.png [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/res/drawable-hdpi/icon.png with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/res/layout/activity_ble.xml [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/res/layout/activity_ble.xml with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/res/layout/activity_main.xml [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/res/layout/activity_main.xml with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/res/layout/activity_on_boarding_select.xml [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/res/layout/activity_on_boarding_select.xml with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/res/menu/main.xml [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/res/menu/main.xml with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/res/menu/menu_ble.xml [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/res/menu/menu_ble.xml with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/res/values/dimens.xml [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/res/values/dimens.xml with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/res/values/strings.xml [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/res/values/strings.xml with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/app/src/main/res/values/styles.xml [moved from service/easy-setup/sampleapp/android/EasySetup/app/src/main/res/values/styles.xml with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/build.gradle [moved from service/easy-setup/sampleapp/android/EasySetup/build.gradle with 100% similarity]
service/easy-setup/sampleapp/mediator/android/EasySetup/settings.gradle [moved from service/easy-setup/sampleapp/android/EasySetup/settings.gradle with 100% similarity]
service/easy-setup/sampleapp/mediator/linux/SConscript [moved from service/easy-setup/sampleapp/linux/richclient/SConscript with 74% similarity]
service/easy-setup/sampleapp/mediator/linux/mediator.cpp [moved from service/easy-setup/sampleapp/linux/richclient/easysetupsample.cpp with 84% similarity]
service/easy-setup/sdk/mediator/android/jni/jni_easy_setup.cpp
service/easy-setup/sdk/mediator/inc/prov_adapter.h [moved from service/easy-setup/sdk/mediator/inc/easysetupmgr.h with 98% similarity]
service/easy-setup/sdk/mediator/inc/provisioning.h [moved from service/easy-setup/sdk/mediator/inc/provisioninghandler.h with 59% similarity]
service/easy-setup/sdk/mediator/src/ble_provisioning.cpp [moved from service/easy-setup/sdk/mediator/src/provisioninghandler_ble.cpp with 66% similarity]
service/easy-setup/sdk/mediator/src/camutex_pthreads.c [deleted file]
service/easy-setup/sdk/mediator/src/prov_adapter.cpp [moved from service/easy-setup/sdk/mediator/src/easysetupmgr.cpp with 90% similarity]
service/easy-setup/sdk/mediator/src/wifi_provisioning.cpp [moved from service/easy-setup/sdk/mediator/src/provisioninghandler.cpp with 65% similarity]

index e320e1a..d11dc07 100755 (executable)
@@ -96,7 +96,7 @@ Steps to build and deploy Easysetup Mediator in Arduino platform
         $ scons TARGET_OS=arduino BOARD=arduino_due_x_dbg TARGET_ARCH=arm SHIELD=WIFI RELEASE=0
 
         Note :- Only single transport can be built at a time for Arduino
-    f) The above command will build sample. The "thinserver.hex" can be found at "out/arduino/arm/release/service/easy-setup/sampleapp/arduino/thinserver/"
+    f) The above command will build sample. The "enrollee.hex" can be found at "out/arduino/arm/release/service/easy-setup/sampleapp/enrollee/arduino"
     g) After building sample, script will try to install on "/dev/ttyACM0" port in 'sudo' mode.
         To skip installation, set command line argument 'UPLOAD=false' or without UPLOAD option
     h) To set BLE Shield Name, include the option DEVICE_NAME during scons build.
@@ -125,7 +125,7 @@ iotivity/
         │            └──inc
         │            └──src
         │── sampleapp
-        │    └──android
-        │    └──arduino
-        │    └──linux
-        └── Build_Instructions_Android_Arduino.txt - You are reading this.
\ No newline at end of file
+        │    └──mediator/android
+        │    └──mediator/linux
+        │    └──enrollee/arduino
+        └── Build_Instructions_Android_Arduino.txt - You are reading this.
index bf983e2..b5452bf 100644 (file)
@@ -110,21 +110,18 @@ if target_os == 'arduino':
 if target_os == 'android':
        if 'BLE' in transport:
                es_sdk_shared = easy_setup_env.StaticLibrary('libESSDK',
-                                               ['sdk/mediator/src/easysetupmgr.cpp',
-                                               'sdk/mediator/src/camutex_pthreads.c',
-                                               'sdk/mediator/src/provisioninghandler_ble.cpp'])
+                                               ['sdk/mediator/src/prov_adapter.cpp',
+                                               'sdk/mediator/src/ble_provisioning.cpp'])
        else :
                es_sdk_shared = easy_setup_env.StaticLibrary('libESSDK',
-                                               ['sdk/mediator/src/easysetupmgr.cpp',
-                                               'sdk/mediator/src/camutex_pthreads.c',
-                                               'sdk/mediator/src/provisioninghandler.cpp'])
+                                               ['sdk/mediator/src/prov_adapter.cpp',
+                                               'sdk/mediator/src/wifi_provisioning.cpp'])
        easy_setup_env.InstallTarget(es_sdk_shared, 'libESSDK')
 
 if target_os == 'linux':
        es_sdk_shared = easy_setup_env.SharedLibrary('ESSDKLibrary',
-                                       ['sdk/mediator/src/easysetupmgr.cpp',
-                                       'sdk/mediator/src/camutex_pthreads.c',
-                                       'sdk/mediator/src/provisioninghandler.cpp'])
+                                       ['sdk/mediator/src/prov_adapter.cpp',
+                                       'sdk/mediator/src/wifi_provisioning.cpp'])
        easy_setup_env.InstallTarget(es_sdk_shared, 'libESSDK')
 
 #Go to build sample apps
index 13c1c3a..fa70b40 100644 (file)
@@ -39,8 +39,8 @@ target_os = env.get('TARGET_OS')
 ######################################################################
 if target_os == 'arduino' :
        # Build linux sample app
-       SConscript('arduino/thinserver/SConscript')
+       SConscript('enrollee/arduino/SConscript')
 
 if target_os == 'linux' :
        # Build linux sample app
-       SConscript('linux/richclient/SConscript')
+       SConscript('mediator/linux/SConscript')
 
 Import('env')
 
-thinserver_env = env.Clone()
-transport = thinserver_env.get('TARGET_TRANSPORT')
+enrollee_env = env.Clone()
+transport = enrollee_env.get('TARGET_TRANSPORT')
 
 ######################################################################
 # Build flags
 ######################################################################
 if 'BLE' in transport:
-       thinserver_env.PrependUnique(CPPPATH = [
+       enrollee_env.PrependUnique(CPPPATH = [
                 '../../../../../resource/oc_logger/include',
                '../../../../../resource/csdk/logger/include',
                 '../../../../../resource/csdk/stack/include',
@@ -37,9 +37,9 @@ if 'BLE' in transport:
                '../../../sdk/enrollee/common/inc',
                '../../../sdk/enrollee/common/src'
                ])
-       thinserver_env.AppendUnique(CPPDEFINES = ['TB_LOG', 'ESBLE'])   
+       enrollee_env.AppendUnique(CPPDEFINES = ['TB_LOG', 'ESBLE'])     
 else : 
-       thinserver_env.PrependUnique(CPPPATH = [
+       enrollee_env.PrependUnique(CPPPATH = [
                 '../../../../../resource/oc_logger/include',
                '../../../../../resource/csdk/logger/include',
                 '../../../../../resource/csdk/stack/include',
@@ -49,25 +49,25 @@ else :
                '../../../sdk/enrollee/common/inc',
                '../../../sdk/enrollee/common/src'
                ])
-       thinserver_env.AppendUnique(CPPDEFINES = ['TB_LOG', 'ESWIFI'])
+       enrollee_env.AppendUnique(CPPDEFINES = ['TB_LOG', 'ESWIFI'])
        
-thinserver_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
+enrollee_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
 
-thinserver_env.PrependUnique(LIBS = ['octbstack','ocsrm','connectivity_abstraction','coap', 'ESSDKLibrary'])
+enrollee_env.PrependUnique(LIBS = ['octbstack','ocsrm','connectivity_abstraction','coap', 'ESSDKLibrary'])
 if 'BLE' in transport:
-       thinserver = thinserver_env.Program('thinserver', 'thinserverble.cpp')
+       enrollee = enrollee_env.Program('enrollee', 'enrollee_ble.cpp')
 else :
-       thinserver = thinserver_env.Program('thinserver', 'thinserver.cpp')
-env.CreateBin('thinserver')
+       enrollee = enrollee_env.Program('enrollee', 'enrollee_wifi.cpp')
+env.CreateBin('enrollee')
 
-i_thinserver = thinserver_env.Install(env.get('BUILD_DIR'), thinserver)
+i_enrollee = enrollee_env.Install(env.get('BUILD_DIR'), enrollee)
 
-Alias('thinserver', i_thinserver)
-env.AppendTarget('thinserver')
+Alias('enrollee', i_enrollee)
+env.AppendTarget('enrollee')
 
-if(thinserver_env['UPLOAD'] == True):
+if(enrollee_env['UPLOAD'] == True):
        from sys import platform as _platform
        if _platform == "linux" or _platform == "linux2":
-               thinserver_env.Upload(env.get('BUILD_DIR') + '/service/easy-setup/sampleapp/arduino/thinserver/thinserver.hex')
+               enrollee_env.Upload(env.get('BUILD_DIR') + '/service/easy-setup/sampleapp/enrollee/arduino/enrollee.hex')
        else:
                print 'Please use appropriate install method for your developing machine. Linux is the only supported platform right now.'
 
 Import('env')
 
-richclient_env = env.Clone()
+mediator_env = env.Clone()
 
 target_os = env.get('TARGET_OS')
 
 ######################################################################
 # Build flags
 ######################################################################
-richclient_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
-richclient_env.AppendUnique(CPPDEFINES = ['TB_LOG'])
+mediator_env.AppendUnique(LIBPATH = [env.get('BUILD_DIR')])
+mediator_env.AppendUnique(CPPDEFINES = ['TB_LOG'])
 
-richclient_env.PrependUnique(CPPPATH = [
+mediator_env.PrependUnique(CPPPATH = [
                        env.get('SRC_DIR') + '/resource/csdk/ocmalloc/include',         
                        env.get('SRC_DIR') + '/resource/csdk/connectivity/common/inc',
                        env.get('SRC_DIR') + '/resource/csdk/connectivity/api',
@@ -41,11 +41,11 @@ richclient_env.PrependUnique(CPPPATH = [
                        env.get('SRC_DIR') + '/service/easy-setup/sdk/mediator/inc',
                        env.get('SRC_DIR') + '/service/easy-setup/sdk/common'])
 
-richclient_env.PrependUnique(LIBS = ['oc', 'octbstack', 'oc_logger', 'pthread', 'connectivity_abstraction', 'coap', 'ESSDKLibrary'])
+mediator_env.PrependUnique(LIBS = ['oc', 'octbstack', 'oc_logger', 'pthread', 'connectivity_abstraction', 'coap', 'ESSDKLibrary'])
 
-richclient = richclient_env.Program('richclient', 'easysetupsample.cpp')
+mediator = mediator_env.Program('mediator', 'mediator.cpp')
 
-i_richclient = richclient_env.Install(env.get('BUILD_DIR'), richclient)
+i_mediator = mediator_env.Install(env.get('BUILD_DIR'), mediator)
 
-Alias('richclient', i_richclient)
-env.AppendTarget('richclient')
+Alias('mediator', i_mediator)
+env.AppendTarget('mediator')
@@ -26,7 +26,7 @@
 #include <stdint.h>
 #include <sstream>
 
-#include "easysetupmgr.h"
+#include "prov_adapter.h"
 #include "logger.h"
 
 #define TAG "easysetupsample"
 int quitFlag = 0;
 
 /* SIGINT handler: set quitFlag to 1 for graceful termination */
-void handleSigInt(int signum)
-{
-    if (signum == SIGINT)
-    {
+void handleSigInt(int signum) {
+    if (signum == SIGINT) {
         quitFlag = 1;
     }
 }
@@ -48,28 +46,23 @@ void handleSigInt(int signum)
  * and also holds the Enrollee information for which provisioning is requested
  * This function can be used to update the application about the current provisioning status of the Enrollee
  */
-void ProvisioningStatusCallback(ProvisioningInfo *provInfo)
-{
+void ProvisioningStatusCallback(ProvisioningInfo * provInfo) {
     OIC_LOG_V(INFO, TAG, "Enrollee connectivity: %d", provInfo->provDeviceInfo.connType);
-    if (provInfo->provStatus == DEVICE_PROVISIONED)
-    {
+    if (provInfo->provStatus == DEVICE_PROVISIONED) {
         OIC_LOG_V(INFO, TAG, "Successfully provisioned the Enrollee with IP : %s ",
-                provInfo->provDeviceInfo.addr->addr);
+                  provInfo->provDeviceInfo.addr->addr);
     }
-    else
-    {
+    else {
         OIC_LOG_V(INFO, TAG, "Provisioing Failed for the Enrollee with IP : %s",
-                provInfo->provDeviceInfo.addr->addr);
+                  provInfo->provDeviceInfo.addr->addr);
     }
 }
 
-static void PrintUsage()
-{
+static void PrintUsage() {
     OIC_LOG(INFO, TAG, "Usage : occlient -d \"192.168.0.20\"");
 }
 
-int main(int argc, char**argv)
-{
+int main(int argc, char **argv) {
     int opt;
     EnrolleeNWProvInfo_t netInfo;
     PrintUsage();
@@ -77,10 +70,8 @@ int main(int argc, char**argv)
 
     RegisterProvisioningStausCallback(ProvisioningStatusCallback);
 
-    while ((opt = getopt(argc, argv, "d:s:p:")) != -1)
-    {
-        switch (opt)
-        {
+    while ((opt = getopt(argc, argv, "d:s:p:")) != -1) {
+        switch (opt) {
             case 'd':
                 strncpy(netInfo.netAddressInfo.WIFI.ipAddress, optarg, IPV4_ADDR_SIZE - 1);
                 break;
@@ -98,15 +89,14 @@ int main(int argc, char**argv)
 
     netInfo.connType = CT_ADAPTER_IP;
     OIC_LOG_V(INFO, TAG, "IP Address of the Provisioning device is =%s\n",
-            netInfo.netAddressInfo.WIFI.ipAddress);
+              netInfo.netAddressInfo.WIFI.ipAddress);
     OIC_LOG_V(INFO, TAG, "SSID of the Enroller is =%s\n", netInfo.netAddressInfo.WIFI.ssid);
     OIC_LOG_V(INFO, TAG, "Password of the Enroller is =%s\n", netInfo.netAddressInfo.WIFI.pwd);
 
     ProvisionEnrollee(&netInfo);
 
     signal(SIGINT, handleSigInt);
-    while (!quitFlag)
-    {
+    while (!quitFlag) {
         sleep(1);
     }
 
index 17c8712..c365461 100644 (file)
-//******************************************************************\r
-//\r
-// Copyright 2015 Samsung Electronics All Rights Reserved.\r
-//\r
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-//\r
-// Licensed under the Apache License, Version 2.0 (the "License");\r
-// you may not use this file except in compliance with the License.\r
-// You may obtain a copy of the License at\r
-//\r
-//      http://www.apache.org/licenses/LICENSE-2.0\r
-//\r
-// Unless required by applicable law or agreed to in writing, software\r
-// distributed under the License is distributed on an "AS IS" BASIS,\r
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-// See the License for the specific language governing permissions and\r
-// limitations under the License.\r
-//\r
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
-\r
-#include "jni_easy_setup.h"\r
-\r
-#include "jni_easy_setup_jvm.h"\r
-#include "easysetupmgr.h"\r
-\r
-void JNIProvisioningStatusCallback(ProvisioningInfo *provInfo)\r
-{\r
-    JNIEnv *env = EasySetupJVM::getEnv();\r
-    if (env == NULL)\r
-    {\r
-        LOGE("JNIProvisioningStatusCallback : Getting JNIEnv failed");\r
-        return;\r
-    }\r
-\r
-    // Get EasySetupHandler class reference\r
-    jclass easysetupCallbacks = GetJClass(EASY_SETUP_SERVICE_CALLBACK_NATIVE_API_CLASS_PATH);\r
-    if (NULL == easysetupCallbacks)\r
-    {\r
-        LOGE("JNIProvisioningStatusCallback : GetJClass easysetupCallbacks failed");\r
-        EasySetupJVM::releaseEnv();\r
-        return;\r
-    }\r
-\r
-    // Get the easysetupCallback class instance\r
-    jobject jobjectCallback = GetJObjectInstance(EASY_SETUP_SERVICE_CALLBACK_NATIVE_API_CLASS_PATH);\r
-    if (NULL == jobjectCallback)\r
-    {\r
-        LOGE("getInstance( %s) failed!", EASY_SETUP_SERVICE_CALLBACK_NATIVE_API_CLASS_PATH);\r
-        EasySetupJVM::releaseEnv();\r
-        return;\r
-    }\r
-\r
-    // Get onResourceCallback method reference\r
-    jmethodID method_id = env->GetMethodID(easysetupCallbacks, "ProvisioningStatusCallBack",\r
-            METHOD_PROVISIONING_STATUS_INTEGER_CALLBACK);\r
-    if (NULL == method_id)\r
-    {\r
-        LOGE("JNIProvisioningStatusCallback: onResourceCallback : GetMethodID failed");\r
-        EasySetupJVM::releaseEnv();\r
-        return;\r
-    }\r
-\r
-    if ((env)->ExceptionCheck())\r
-    {\r
-        LOGE("JNIProvisioningStatusCallback : ExceptionCheck failed");\r
-        EasySetupJVM::releaseEnv();\r
-        return;\r
-    }\r
-\r
-    if (NULL == method_id)\r
-    {\r
-        LOGI("JNI method_id is NULL");\r
-    }\r
-    else\r
-    {\r
-        LOGI("JNI method_id is VALID");\r
-\r
-        jint result;\r
-        if (provInfo->provStatus == DEVICE_PROVISIONED)\r
-        {\r
-            result = 0;\r
-        }\r
-        else\r
-        {\r
-            result = -1;\r
-        }\r
-\r
-        env->CallVoidMethod(jobjectCallback, method_id, (jint) result);\r
-    }\r
-\r
-    EasySetupJVM::releaseEnv();\r
-}\r
-\r
-JNIEXPORT void JNICALL JNIInitEasySetup(JNIEnv *env, jobject thisObj)\r
-{\r
-    LOGI("JNI JNIInitEasySetup: Enter");\r
-    InitEasySetupManager();\r
-    RegisterProvisioningStausCallback(JNIProvisioningStatusCallback);\r
-}\r
-\r
-JNIEXPORT void JNICALL JNITerminateEasySetup(JNIEnv *env, jobject thisObj)\r
-{\r
-    LOGI("JNI JNITerminateEasySetup: Enter");\r
-    TerminateEasySetupManager();\r
-}\r
-\r
-JNIEXPORT void JNICALL JNIProvisionEnrollee(JNIEnv *env, jobject thisObj,\r
-        jstring jIPAddress,\r
-        jstring jNetSSID,\r
-        jstring jNetPWD,\r
-        jint jConnectivityType)\r
-{\r
-    LOGI("JNI JNIProvisionEnrollee: Enter");\r
-\r
-    if (!jIPAddress)\r
-    {\r
-        LOGE("JNI JNIProvisionEnrollee : jIPAddress is NULL!");\r
-        return;\r
-    }\r
-\r
-    const char *ipAddress = env->GetStringUTFChars(jIPAddress, NULL);\r
-    if (NULL == ipAddress)\r
-    {\r
-        LOGE("JNI JNIProvisionEnrollee : Failed to convert jstring to char string!");\r
-    }\r
-\r
-    LOGI("JNI JNIProvisionEnrollee : ipAddress is : %s",ipAddress);\r
-\r
-    const char *netSSID = env->GetStringUTFChars(jNetSSID, NULL);\r
-    if (NULL == netSSID)\r
-    {\r
-        LOGE("JNI JNIProvisionEnrollee : Failed to convert jstring to char string!");\r
-    }\r
-\r
-    LOGI("JNI JNIProvisionEnrollee : netSSID is : %s",netSSID);\r
-\r
-    const char *netPWD = env->GetStringUTFChars(jNetPWD, NULL);\r
-    if (NULL == netPWD)\r
-    {\r
-        LOGE("JNI JNIProvisionEnrollee : Failed to convert jstring to char string!");\r
-    }\r
-\r
-    LOGI("JNI JNIProvisionEnrollee : netPWD is : %s",netPWD);\r
-\r
-    OCConnectivityType connecitivityType;\r
-    EnrolleeNWProvInfo_t netInfo =\r
-    {   0};\r
-       strncpy(netInfo.netAddressInfo.WIFI.ipAddress, ipAddress, IPV4_ADDR_SIZE-1);\r
-       strncpy(netInfo.netAddressInfo.WIFI.ssid, netSSID, NET_WIFI_SSID_SIZE-1);\r
-    strncpy(netInfo.netAddressInfo.WIFI.pwd, netPWD, NET_WIFI_PWD_SIZE-1);\r
-    netInfo.connType = (OCConnectivityType)jConnectivityType;\r
-\r
-    if(netInfo.connType==CT_ADAPTER_GATT_BTLE)\r
-    {\r
-        \r
-                strncpy(netInfo.netAddressInfo.LE.leMacAddress,ipAddress,NET_MACADDR_SIZE-1);\r
-        LOGI("MAC set=%s",netInfo.netAddressInfo.LE.leMacAddress);\r
-\r
-    }\r
-    netInfo.isSecured = true;\r
-\r
-    ProvisionEnrollee(&netInfo);\r
-\r
-    return;\r
-}\r
-\r
-JNIEXPORT void JNICALL JNIStopEnrolleeProvisioning(JNIEnv *env, jobject thisObj,\r
-        jint jConnectivityType)\r
-{\r
-    LOGI("JNI Stop Easy Setup: Entering");\r
-\r
-    OCConnectivityType connecitivityType=OCConnectivityType::CT_DEFAULT;\r
-\r
-    if(jConnectivityType == 0)\r
-    {\r
-        connecitivityType = OCConnectivityType::CT_ADAPTER_IP;\r
-    }\r
-\r
-    StopEnrolleeProvisioning(connecitivityType);\r
-\r
-    return;\r
-}\r
-\r
+//******************************************************************
+//
+// Copyright 2015 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.
+//
+//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+#include "jni_easy_setup.h"
+
+#include "jni_easy_setup_jvm.h"
+#include "prov_adapter.h"
+
+void JNIProvisioningStatusCallback(ProvisioningInfo * provInfo) {
+    JNIEnv *env = EasySetupJVM::getEnv();
+    if (env == NULL) {
+        LOGE("JNIProvisioningStatusCallback : Getting JNIEnv failed");
+        return;
+    }
+
+    // Get EasySetupHandler class reference
+    jclass easysetupCallbacks = GetJClass(EASY_SETUP_SERVICE_CALLBACK_NATIVE_API_CLASS_PATH);
+    if (NULL == easysetupCallbacks) {
+        LOGE("JNIProvisioningStatusCallback : GetJClass easysetupCallbacks failed");
+        EasySetupJVM::releaseEnv();
+        return;
+    }
+
+    // Get the easysetupCallback class instance
+    jobject jobjectCallback = GetJObjectInstance(EASY_SETUP_SERVICE_CALLBACK_NATIVE_API_CLASS_PATH);
+    if (NULL == jobjectCallback) {
+        LOGE("getInstance( %s) failed!", EASY_SETUP_SERVICE_CALLBACK_NATIVE_API_CLASS_PATH);
+        EasySetupJVM::releaseEnv();
+        return;
+    }
+
+    // Get onResourceCallback method reference
+    jmethodID method_id = env->GetMethodID(easysetupCallbacks, "ProvisioningStatusCallBack",
+                                           METHOD_PROVISIONING_STATUS_INTEGER_CALLBACK);
+    if (NULL == method_id) {
+        LOGE("JNIProvisioningStatusCallback: onResourceCallback : GetMethodID failed");
+        EasySetupJVM::releaseEnv();
+        return;
+    }
+
+    if ((env)->ExceptionCheck()) {
+        LOGE("JNIProvisioningStatusCallback : ExceptionCheck failed");
+        EasySetupJVM::releaseEnv();
+        return;
+    }
+
+    if (NULL == method_id) {
+        LOGI("JNI method_id is NULL");
+    }
+    else {
+        LOGI("JNI method_id is VALID");
+
+        jint result;
+        if (provInfo->provStatus == DEVICE_PROVISIONED) {
+            result = 0;
+        }
+        else {
+            result = -1;
+        }
+
+        env->CallVoidMethod(jobjectCallback, method_id, (jint) result);
+    }
+
+    EasySetupJVM::releaseEnv();
+}
+
+JNIEXPORT void JNICALL
+JNIInitEasySetup(JNIEnv
+*env,
+jobject thisObj
+)
+{
+LOGI("JNI JNIInitEasySetup: Enter");
+
+InitEasySetupManager();
+
+RegisterProvisioningStausCallback(JNIProvisioningStatusCallback);
+}
+
+JNIEXPORT void JNICALL
+JNITerminateEasySetup(JNIEnv
+*env,
+jobject thisObj
+)
+{
+LOGI("JNI JNITerminateEasySetup: Enter");
+
+TerminateEasySetupManager();
+
+}
+
+JNIEXPORT void JNICALL
+JNIProvisionEnrollee(JNIEnv
+*env,
+jobject thisObj,
+        jstring
+jIPAddress,
+jstring jNetSSID,
+        jstring
+jNetPWD,
+jint jConnectivityType
+)
+{
+LOGI("JNI JNIProvisionEnrollee: Enter");
+
+if (!jIPAddress)
+{
+LOGE("JNI JNIProvisionEnrollee : jIPAddress is NULL!");
+return;
+}
+
+const char *ipAddress = env->GetStringUTFChars(jIPAddress, NULL);
+if (NULL == ipAddress)
+{
+LOGE("JNI JNIProvisionEnrollee : Failed to convert jstring to char string!");
+}
+
+LOGI("JNI JNIProvisionEnrollee : ipAddress is : %s",ipAddress);
+
+const char *netSSID = env->GetStringUTFChars(jNetSSID, NULL);
+if (NULL == netSSID)
+{
+LOGE("JNI JNIProvisionEnrollee : Failed to convert jstring to char string!");
+}
+
+LOGI("JNI JNIProvisionEnrollee : netSSID is : %s",netSSID);
+
+const char *netPWD = env->GetStringUTFChars(jNetPWD, NULL);
+if (NULL == netPWD)
+{
+LOGE("JNI JNIProvisionEnrollee : Failed to convert jstring to char string!");
+}
+
+LOGI("JNI JNIProvisionEnrollee : netPWD is : %s",netPWD);
+
+OCConnectivityType connecitivityType;
+EnrolleeNWProvInfo_t netInfo =
+        {0};
+strncpy(netInfo
+.netAddressInfo.WIFI.ipAddress, ipAddress, IPV4_ADDR_SIZE-1);
+strncpy(netInfo
+.netAddressInfo.WIFI.ssid, netSSID, NET_WIFI_SSID_SIZE-1);
+strncpy(netInfo
+.netAddressInfo.WIFI.pwd, netPWD, NET_WIFI_PWD_SIZE-1);
+netInfo.
+connType = (OCConnectivityType) jConnectivityType;
+
+if(netInfo.connType==CT_ADAPTER_GATT_BTLE)
+{
+
+strncpy(netInfo
+.netAddressInfo.LE.leMacAddress,ipAddress,NET_MACADDR_SIZE-1);
+LOGI("MAC set=%s",netInfo.netAddressInfo.LE.leMacAddress);
+
+}
+netInfo.
+isSecured = true;
+
+ProvisionEnrollee(&netInfo);
+
+return;
+}
+
+JNIEXPORT void JNICALL
+JNIStopEnrolleeProvisioning(JNIEnv
+*env,
+jobject thisObj,
+        jint
+jConnectivityType)
+{
+LOGI("JNI Stop Easy Setup: Entering");
+
+OCConnectivityType connecitivityType = OCConnectivityType::CT_DEFAULT;
+
+if(jConnectivityType == 0)
+{
+connecitivityType = OCConnectivityType::CT_ADAPTER_IP;
+}
+
+StopEnrolleeProvisioning(connecitivityType);
+
+return;
+}
+
@@ -27,7 +27,7 @@
 #include "octypes.h"
 #include "common.h"
 
-#include "provisioninghandler.h"
+#include "provisioning.h"
 
 
 //-----------------------------------------------------------------------------
@@ -48,44 +48,46 @@ OCStackResult InitProvisioningHandler();
 
 OCStackResult TerminateProvisioningHandler();
 
-void listeningFunc(void*);
+void *listeningFunc(void *);
 
-OCStackApplicationResult ProvisionEnrolleeResponse(voidctx, OCDoHandle handle,
-        OCClientResponse * clientResponse);
+OCStackApplicationResult ProvisionEnrolleeResponse(void *ctx, OCDoHandle handle,
+                                                   OCClientResponse *clientResponse);
 
-OCStackResult ProvisionEnrollee(OCQualityOfService qos, const char* query, const char* resUri,OCDevAddr *destination);
+OCStackResult ProvisionEnrollee(OCQualityOfService qos, const char *query, const char *resUri,
+                                OCDevAddr *destination);
 
-OCStackApplicationResult GetProvisioningStatusResponse(voidctx, OCDoHandle handle,
-        OCClientResponse * clientResponse);
+OCStackApplicationResult GetProvisioningStatusResponse(void *ctx, OCDoHandle handle,
+                                                       OCClientResponse *clientResponse);
 
-OCStackResult InvokeOCDoResource(const char* query, OCMethod method, const OCDevAddr *dest,
-        OCQualityOfService qos, OCClientResponseHandler cb, OCRepPayload* payload,
-        OCHeaderOption * options, uint8_t numOptions);
+OCStackResult InvokeOCDoResource(const char *query, OCMethod method, const OCDevAddr *dest,
+                                 OCQualityOfService qos, OCClientResponseHandler cb,
+                                 OCRepPayload *payload,
+                                 OCHeaderOption *options, uint8_t numOptions);
 
-OCStackResult GetProvisioningStatus(OCQualityOfService qos, const charquery,
-        const OCDevAddr*destination);
+OCStackResult GetProvisioningStatus(OCQualityOfService qos, const char *query,
+                                    const OCDevAddr *destination);
 
 OCStackResult StartProvisioningProcess(const EnrolleeNWProvInfo_t *netInfo,
-        OCProvisioningStatusCB provisioningStatusCallback);
+                                       OCProvisioningStatusCB provisioningStatusCallback);
 
 void StopProvisioningProcess();
 
-OCStackApplicationResult SubscribeProvPresenceCallback(voidctx, OCDoHandle handle,
-        OCClientResponse* clientResponse);
+OCStackApplicationResult SubscribeProvPresenceCallback(void *ctx, OCDoHandle handle,
+                                                       OCClientResponse *clientResponse);
 
-OCStackResult SubscribeProvPresence(OCQualityOfService qos, const charrequestURI);
+OCStackResult SubscribeProvPresence(OCQualityOfService qos, const char *requestURI);
 
-OCStackApplicationResult FindProvisioningResourceResponse(voidctx, OCDoHandle handle,
-        OCClientResponse * clientResponse);
+OCStackApplicationResult FindProvisioningResourceResponse(void *ctx, OCDoHandle handle,
+                                                          OCClientResponse *clientResponse);
 
-void FindProvisioningResource(void *data);
+void *FindProvisioningResource(void *data);
 
 //Invoke Provisioning Status Callback
-ProvisioningInfo* PrepareProvisioingStatusCB(OCClientResponse * clientResponse,
-        ProvStatus provStatus);
+ProvisioningInfo *PrepareProvisioingStatusCB(OCClientResponse *clientResponse,
+                                             ProvStatus provStatus);
 
 
-void LogProvisioningResponse(OCRepPayloadValue* val);
+void LogProvisioningResponse(OCRepPayloadValue * val);
 
 bool ConfigEnrolleeObject(const EnrolleeNWProvInfo_t *netInfo);
 
@@ -99,12 +101,12 @@ bool ValidateEnrolleResponse(OCClientResponse * clientResponse);
 
 bool ValidateFinddResourceResponse(OCClientResponse * clientResponse);
 
-ProvisioningInfo* GetCallbackObjectOnSuccess(OCClientResponse * clientResponse,
-        ProvStatus provStatus);
+ProvisioningInfo *GetCallbackObjectOnSuccess(OCClientResponse *clientResponse,
+                                             ProvStatus provStatus);
 
-ProvisioningInfoGetCallbackObjectOnError(ProvStatus status);
+ProvisioningInfo *GetCallbackObjectOnError(ProvStatus status);
 
-ProvisioningInfoCreateCallBackObject();
+ProvisioningInfo *CreateCallBackObject();
 
 bool ResetProgress();
 
@@ -113,7 +115,7 @@ bool SetProgress(OCProvisioningStatusCB provisioningStatusCallback);
 bool InProgress();
 
 bool ValidateEasySetupParams(const EnrolleeNWProvInfo_t *netInfo,
-        OCProvisioningStatusCB provisioningStatusCallback);
+                             OCProvisioningStatusCB provisioningStatusCallback);
 
 
 #endif
 #include <string.h>
 #include <signal.h>
 #include <unistd.h>
+#include <pthread.h>
+
 #include "ocpayload.h"
-#include "provisioninghandler.h"
+#include "provisioning.h"
 #include "common.h"
 // External includes
 
 #include "cathreadpool.h"
 #include "logger.h"
 #include "oic_malloc.h"
+
 static bool sent_provision_request = false;
-/**
- * @var g_provisioningMutex
- * @brief Mutex to synchronize access to g_caDtlsContext.
- */
-static ca_mutex g_provisioningMutex = NULL;
-static ca_cond g_provisioningCond = NULL;
+
 bool g_provisioningCondFlag = false;
 
-static EnrolleeNWProvInfo_tnetProvInfo;
+static EnrolleeNWProvInfo_t *netProvInfo;
 
 /**
  * @var cbData
  * @brief Callback for providing provisioning status callback to application
  */
 static OCProvisioningStatusCB cbData = NULL;
-static ca_thread_pool_t g_threadPoolHandle = NULL;
 
-void ErrorCallback(ProvStatus status)
-{
+void ErrorCallback(ProvStatus status) {
     ProvisioningInfo *provInfo = GetCallbackObjectOnError(status);
     cbData(provInfo);
 }
 
-OCStackResult InitProvisioningHandler()
-{
+OCStackResult InitProvisioningHandler() {
     OCStackResult ret = OC_STACK_ERROR;
     /* Initialize OCStack*/
-    if (OCInit(NULL, 0, OC_CLIENT) != OC_STACK_OK)
-    {
+    if (OCInit(NULL, 0, OC_CLIENT) != OC_STACK_OK) {
         OIC_LOG(ERROR, TAG, "OCStack init error");
         return ret;
     }
 
-    g_provisioningMutex = ca_mutex_new();
 
-    OIC_LOG(DEBUG, TAG, "ca_thread_pool_init initializing");
+    char *string = "listeningFunc invoked in a thread";
 
-    if (CA_STATUS_OK != ca_thread_pool_init(2, &g_threadPoolHandle))
-    {
-        OIC_LOG(DEBUG, TAG, "thread_pool_init failed");
-        return OC_STACK_ERROR;
-    }
+    pthread_t thread_handle;
 
-    g_provisioningCond = ca_cond_new();
-    if (NULL == g_provisioningCond)
-    {
-        OIC_LOG(DEBUG, TAG, "Failed to create condition");
-        ca_mutex_free(g_provisioningMutex);
-        ca_thread_pool_free(g_threadPoolHandle);
+    if (pthread_create(&thread_handle, NULL, listeningFunc, (void *) string)) {
+        OIC_LOG(DEBUG, TAG, "Thread creation failed");
         return OC_STACK_ERROR;
     }
 
-    char *string = "listeningFunc invoked in a thread";
-    if (CA_STATUS_OK != ca_thread_pool_add_task(g_threadPoolHandle, listeningFunc, (void *) string))
-    {
-        OIC_LOG(DEBUG, TAG, "thread_pool_add_task failed");
-        ca_thread_pool_free(g_threadPoolHandle);
-        ca_mutex_unlock(g_provisioningMutex);
-        ca_mutex_free(g_provisioningMutex);
-        ca_cond_free(g_provisioningCond);
-        return OC_STACK_ERROR;
-    }
+    pthread_join(thread_handle, NULL);
+
+    //TODO : Below call is done in wifi case
+    // ResetProgress();
+
+
     return OC_STACK_OK;
 }
 
-OCStackResult TerminateProvisioningHandler()
-{
+OCStackResult TerminateProvisioningHandler() {
     OCStackResult ret = OC_STACK_ERROR;
-    if (OCStop() != OC_STACK_OK)
-    {
+    if (OCStop() != OC_STACK_OK) {
         OIC_LOG(ERROR, TAG, "OCStack stop error");
     }
 
-    ca_mutex_lock(g_provisioningMutex);
     g_provisioningCondFlag = true;
-    //ca_cond_signal(g_provisioningCond);
-    ca_mutex_unlock(g_provisioningMutex);
-
-    ca_mutex_free(g_provisioningMutex);
-    g_provisioningMutex = NULL;
 
-    ca_thread_pool_free(g_threadPoolHandle);
-    g_threadPoolHandle = NULL;
 
     ret = OC_STACK_OK;
     return ret;
 }
 
-void listeningFunc(void *data)
-{
-    while (!g_provisioningCondFlag)
-    {
+void *listeningFunc(void *data) {
+    while (!g_provisioningCondFlag) {
         OCStackResult result;
 
-        ca_mutex_lock(g_provisioningMutex);
         result = OCProcess();
-        ca_mutex_unlock(g_provisioningMutex);
 
-        if (result != OC_STACK_OK)
-        {
+        if (result != OC_STACK_OK) {
             OIC_LOG(ERROR, TAG, "OCStack stop error");
         }
 
@@ -141,68 +107,56 @@ void listeningFunc(void *data)
     }
 }
 
-OCStackApplicationResult ProvisionEnrolleeResponse(void* ctx, OCDoHandle handle,
-        OCClientResponse * clientResponse)
-{
+OCStackApplicationResult ProvisionEnrolleeResponse(void *ctx, OCDoHandle handle,
+                                                   OCClientResponse *clientResponse) {
     OIC_LOG_V(DEBUG, TAG, "INSIDE ProvisionEnrolleeResponse");
     ProvisioningInfo *provInfo;
 
-    if (!ValidateEnrolleResponse(clientResponse))
-    {
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+    if (!ValidateEnrolleResponse(clientResponse)) {
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         return OC_STACK_DELETE_TRANSACTION;
     }
 
-    chartnn;
-    charcd;
+    char *tnn;
+    char *cd;
 
-    OCRepPayload* input = (OCRepPayload*) (clientResponse->payload);
+    OCRepPayload *input = (OCRepPayload * )(clientResponse->payload);
 
-    while (input)
-    {
+    while (input) {
 
         int64_t ps;
-        if (OCRepPayloadGetPropInt(input, OC_RSRVD_ES_PS, &ps))
-        {
+        if (OCRepPayloadGetPropInt(input, OC_RSRVD_ES_PS, &ps)) {
 
-            if (ps == 1)
-            {
+            if (ps == 1) {
                 input = input->next;
                 continue;
             }
-            else
-            {
+            else {
                 OIC_LOG_V(DEBUG, TAG, "PS is NOT proper");
                 goto Error;
 
             }
         }
 
-        if (OCRepPayloadGetPropString(input, OC_RSRVD_ES_TNN, &tnn))
-        {
-            if (!strcmp(tnn, netProvInfo->netAddressInfo.WIFI.ssid))
-            {
+        if (OCRepPayloadGetPropString(input, OC_RSRVD_ES_TNN, &tnn)) {
+            if (!strcmp(tnn, netProvInfo->netAddressInfo.WIFI.ssid)) {
                 OIC_LOG_V(DEBUG, TAG, "SSID is proper");
                 input = input->next;
                 continue;
             }
-            else
-            {
+            else {
                 OIC_LOG_V(DEBUG, TAG, "SSID is NOT proper");
                 goto Error;
             }
         }
 
-        if (OCRepPayloadGetPropString(input, OC_RSRVD_ES_CD, &cd))
-        {
-            if (!strcmp(cd, netProvInfo->netAddressInfo.WIFI.pwd))
-            {
+        if (OCRepPayloadGetPropString(input, OC_RSRVD_ES_CD, &cd)) {
+            if (!strcmp(cd, netProvInfo->netAddressInfo.WIFI.pwd)) {
                 OIC_LOG_V(DEBUG, TAG, "Password is proper");
                 input = input->next;
                 continue;
             }
-            else
-            {
+            else {
                 OIC_LOG_V(DEBUG, TAG, "Password is NOT proper");
                 goto Error;
             }
@@ -221,21 +175,20 @@ OCStackApplicationResult ProvisionEnrolleeResponse(void* ctx, OCDoHandle handle,
     Error:
     {
 
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
 
         return OC_STACK_DELETE_TRANSACTION;
     }
 
 }
 
-OCStackResult ProvisionEnrollee(OCQualityOfService qos, const char* query, const char* resUri,
-        OCDevAddr *destination)
-{
+OCStackResult ProvisionEnrollee(OCQualityOfService qos, const char *query, const char *resUri,
+                                OCDevAddr *destination) {
     OIC_LOG_V(INFO, TAG, "Sleeping for 2 seconds");
     sleep(2);
     OIC_LOG_V(INFO, TAG, "\n\nExecuting ProvisionEnrollee%s", __func__);
 
-    OCRepPayloadpayload = OCRepPayloadCreate();
+    OCRepPayload *payload = OCRepPayloadCreate();
 
     OCRepPayloadSetUri(payload, resUri);
     OCRepPayloadSetPropString(payload, OC_RSRVD_ES_TNN, netProvInfo->netAddressInfo.WIFI.ssid);
@@ -244,13 +197,13 @@ OCStackResult ProvisionEnrollee(OCQualityOfService qos, const char* query, const
     OIC_LOG_V(DEBUG, TAG, "OCPayload ready for ProvisionEnrollee");
 
     OCStackResult ret = InvokeOCDoResource(query, OC_REST_PUT, destination, OC_HIGH_QOS,
-            ProvisionEnrolleeResponse, payload, NULL, 0);
+                                           ProvisionEnrolleeResponse, payload, NULL, 0);
 
     return ret;
 }
-OCStackApplicationResult GetProvisioningStatusResponse(void* ctx, OCDoHandle handle,
-        OCClientResponse * clientResponse)
-{
+
+OCStackApplicationResult GetProvisioningStatusResponse(void *ctx, OCDoHandle handle,
+                                                       OCClientResponse *clientResponse) {
     if (sent_provision_request == true)
         return OC_STACK_DELETE_TRANSACTION;
     sent_provision_request = true;
@@ -258,23 +211,22 @@ OCStackApplicationResult GetProvisioningStatusResponse(void* ctx, OCDoHandle han
 
     ProvisioningInfo *provInfo;
 
-    if (!ValidateEnrolleResponse(clientResponse))
-    {
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+    if (!ValidateEnrolleResponse(clientResponse)) {
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         ClearMemory();
         return OC_STACK_DELETE_TRANSACTION;
     }
 
-    OCRepPayload* input = (OCRepPayload*) (clientResponse->payload);
+    OCRepPayload *input = (OCRepPayload * )(clientResponse->payload);
 
     char query[OIC_STRING_MAX_VALUE] =
-    { '\0' };
+            {'\0'};
     char resURI[MAX_URI_LENGTH] =
-    { '\0' };
+            {'\0'};
 
     OIC_LOG_V(DEBUG, TAG, "resUri = %s", input->uri);
 
-    strncpy(resURI, input->uri, sizeof(resURI))-1;
+    strncpy(resURI, input->uri, sizeof(resURI) - 1);
 
     snprintf(query, sizeof(query), UNICAST_PROVISIONING_QUERY_BLE, clientResponse->addr->addr);
 
@@ -285,12 +237,11 @@ OCStackApplicationResult GetProvisioningStatusResponse(void* ctx, OCDoHandle han
 
     //OCPayloadLogRep(DEBUG,TAG,input);
 
-    if (ProvisionEnrollee(OC_HIGH_QOS, query, OC_RSRVD_ES_URI_PROV, devaddress) != OC_STACK_OK)
-    {
+    if (ProvisionEnrollee(OC_HIGH_QOS, query, OC_RSRVD_ES_URI_PROV, devaddress) != OC_STACK_OK) {
         OIC_LOG(INFO, TAG,
                 "GetProvisioningStatusResponse received NULL clientResponse.Invoking Provisioing Status Callback");
 
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         ClearMemory();
         return OC_STACK_DELETE_TRANSACTION;
     }
@@ -299,95 +250,92 @@ OCStackApplicationResult GetProvisioningStatusResponse(void* ctx, OCDoHandle han
 
 }
 
-OCStackResult InvokeOCDoResource(const charquery, OCMethod method, const OCDevAddr *dest,
-        OCQualityOfService qos, OCClientResponseHandler cb, OCRepPayload* payload,
-        OCHeaderOption * options, uint8_t numOptions)
-{
+OCStackResult InvokeOCDoResource(const char *query, OCMethod method, const OCDevAddr *dest,
+                                 OCQualityOfService qos, OCClientResponseHandler cb,
+                                 OCRepPayload *payload,
+                                 OCHeaderOption *options, uint8_t numOptions) {
     OCStackResult ret;
     OCCallbackData cbData;
 
     cbData.cb = cb;
-    cbData.context = (void*) DEFAULT_CONTEXT_VALUE;
+    cbData.context = (void *) DEFAULT_CONTEXT_VALUE;
     cbData.cd = NULL;
 
-    ret = OCDoResource(NULL, method, query, dest, (OCPayload*) payload, OC_CONNTYPE_BLE, qos,
-            &cbData, options, numOptions);
+    ret = OCDoResource(NULL, method, query, dest, (OCPayload *) payload, OC_CONNTYPE_BLE, qos,
+                       &cbData, options, numOptions);
 
-    if (ret != OC_STACK_OK)
-    {
+    if (ret != OC_STACK_OK) {
         OIC_LOG_V(ERROR, TAG, "OCDoResource returns error %d with method %d", ret, method);
     }
 
     return ret;
 }
 
-OCStackResult GetProvisioningStatus(OCQualityOfService qos, const char* query,
-        const OCDevAddr *destination)
-{
+OCStackResult GetProvisioningStatus(OCQualityOfService qos, const char *query,
+                                    const OCDevAddr *destination) {
     OCStackResult ret = OC_STACK_ERROR;
     OIC_LOG_V(INFO, TAG, "\n\nExecuting %s %d", __func__, destination->adapter);
     ret = InvokeOCDoResource(query, OC_REST_GET, destination, OC_HIGH_QOS,
-            GetProvisioningStatusResponse, NULL, NULL, 0);
+                             GetProvisioningStatusResponse, NULL, NULL, 0);
     return ret;
 }
 
 OCStackResult StartProvisioningProcess(const EnrolleeNWProvInfo_t *netInfo,
-        OCProvisioningStatusCB provisioningStatusCallback)
-{
+                                       OCProvisioningStatusCB provisioningStatusCallback) {
 
     OCStackResult result = OC_STACK_ERROR;
 
-    if (!ValidateEasySetupParams(netInfo, provisioningStatusCallback))
-    {
+    char *string = "Starting provisioning process ";
+
+    pthread_t thread_handle;
+
+    if (!ValidateEasySetupParams(netInfo, provisioningStatusCallback)) {
         goto Error;
     }
 
     //Only basis test is done for below API
-    if (!SetProgress(provisioningStatusCallback))
-    {
+    if (!SetProgress(provisioningStatusCallback)) {
         // Device provisioning session is running already.
         OIC_LOG(INFO, TAG, PCF("Device provisioning session is running already"));
         goto Error;
     }
 
-    if (!ConfigEnrolleeObject(netInfo))
-    {
+    if (!ConfigEnrolleeObject(netInfo)) {
         goto Error;
     }
 
-    if (CA_STATUS_OK != ca_thread_pool_add_task(g_threadPoolHandle, FindProvisioningResource,
-            (void *) ""))
-    {
+    if (pthread_create(&thread_handle, NULL, FindProvisioningResource, (void *) string)) {
         goto Error;
+
     }
 
+    pthread_join(thread_handle, NULL);
+
+
     return OC_STACK_OK;
 
     Error:
     {
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         ClearMemory();
         return OC_STACK_ERROR;
     }
 
 }
 
-void StopProvisioningProcess()
-{
+void StopProvisioningProcess() {
     //Only basis test is done for below API
     ResetProgress();
 }
 
 // This is a function called back when a device is discovered
-OCStackApplicationResult FindProvisioningResourceResponse(void* ctx, OCDoHandle handle,
-        OCClientResponse * clientResponse)
-{
+OCStackApplicationResult FindProvisioningResourceResponse(void *ctx, OCDoHandle handle,
+                                                          OCClientResponse *clientResponse) {
 
     OIC_LOG(INFO, TAG, PCF("Entering FindProvisioningResourceResponse"));
 
-    if (!ValidateFinddResourceResponse(clientResponse))
-    {
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+    if (!ValidateFinddResourceResponse(clientResponse)) {
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         return OC_STACK_DELETE_TRANSACTION;
     }
 
@@ -395,39 +343,37 @@ OCStackApplicationResult FindProvisioningResourceResponse(void* ctx, OCDoHandle
 
     ProvisioningInfo *provInfo;
     char szQueryUri[64] =
-    { 0 };
+            {0};
 
-    OCDiscoveryPayload* discoveryPayload = (OCDiscoveryPayload*) (clientResponse->payload);
+    OCDiscoveryPayload *discoveryPayload = (OCDiscoveryPayload * )(clientResponse->payload);
 
     // Need to conform if below check is required or not. As Null check of clientResponse->payload is already performed above
-    if (!discoveryPayload)
-    {
+    if (!discoveryPayload) {
         OIC_LOG_V(DEBUG, TAG, "Failed To parse");
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         return OC_STACK_DELETE_TRANSACTION;
     }
 
     OIC_LOG_V(DEBUG, TAG, "resUri = %s", discoveryPayload->resources->uri);
 
     snprintf(szQueryUri, sizeof(szQueryUri), UNICAST_PROVISIONING_QUERY_BLE,
-            clientResponse->addr->addr);
+             clientResponse->addr->addr);
 
     OCDevAddr *devaddress = &clientResponse->devAddr;
     devaddress->adapter = OC_ADAPTER_GATT_BTLE;
 
     if (strcmp(netProvInfo->netAddressInfo.WIFI.ipAddress, clientResponse->devAddr.addr))
         OIC_LOG_V(INFO, TAG, "unequal %s %s", netProvInfo->netAddressInfo.WIFI.ipAddress,
-                clientResponse->devAddr.addr);
+                  clientResponse->devAddr.addr);
     else
         OIC_LOG_V(INFO, TAG, "unequal %s %s", netProvInfo->netAddressInfo.WIFI.ipAddress,
-                clientResponse->devAddr.addr);
+                  clientResponse->devAddr.addr);
 
     OIC_LOG_V(DEBUG, TAG, "query before GetProvisioningStatus call = %s %d", szQueryUri,
-            devaddress->adapter);
+              devaddress->adapter);
 
-    if (GetProvisioningStatus(OC_HIGH_QOS, szQueryUri, devaddress) != OC_STACK_OK)
-    {
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+    if (GetProvisioningStatus(OC_HIGH_QOS, szQueryUri, devaddress) != OC_STACK_OK) {
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         return OC_STACK_DELETE_TRANSACTION;
     }
 
@@ -435,13 +381,12 @@ OCStackApplicationResult FindProvisioningResourceResponse(void* ctx, OCDoHandle
 
 }
 
-void FindProvisioningResource(void *data)
-{
+void *FindProvisioningResource(void *data) {
     OCStackResult ret = OC_STACK_ERROR;
 
     /* Start a discovery query*/
     char szQueryUri[64] =
-    { 0 };
+            {0};
 
     snprintf(szQueryUri, sizeof(szQueryUri), MULTICAST_PROVISIONING_QUERY_BLE);
 
@@ -450,65 +395,56 @@ void FindProvisioningResource(void *data)
     OCCallbackData ocCBData;
 
     ocCBData.cb = FindProvisioningResourceResponse;
-    ocCBData.context = (void*) DEFAULT_CONTEXT_VALUE;
+    ocCBData.context = (void *) DEFAULT_CONTEXT_VALUE;
     ocCBData.cd = NULL;
 
     ret = OCDoResource(NULL, OC_REST_DISCOVER, szQueryUri, NULL, NULL, OC_CONNTYPE_BLE, OC_LOW_QOS,
-            &ocCBData, NULL, 0);
+                       &ocCBData, NULL, 0);
 
-    if (ret != OC_STACK_OK)
-    {
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+    if (ret != OC_STACK_OK) {
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         ClearMemory();
     }
 }
 
-OCStackApplicationResult SubscribeProvPresenceCallback(void* ctx, OCDoHandle handle,
-        OCClientResponse* clientResponse)
-{
+OCStackApplicationResult SubscribeProvPresenceCallback(void *ctx, OCDoHandle handle,
+                                                       OCClientResponse *clientResponse) {
     OIC_LOG(INFO, TAG, PCF("Entering SubscribeProvPresenceCallback"));
 
     OCStackApplicationResult response = OC_STACK_DELETE_TRANSACTION;
 
-    if (clientResponse == NULL)
-    {
+    if (clientResponse == NULL) {
         // clientResponse is invalid
         OIC_LOG(ERROR, TAG, PCF("Client Response is NULL!"));
         return response;
     }
-    else
-    {
-
-        OIC_LOG(INFO, TAG, PCF("Client Response exists"));
-        if (clientResponse->result != OC_STACK_OK)
-
-        {
+    else {
+        if (clientResponse->result != OC_STACK_OK) {
             OIC_LOG(ERROR, TAG, "OCStack stop error");
             return response;
         }
 
-        if (clientResponse->payload && clientResponse->payload->type != PAYLOAD_TYPE_REPRESENTATION)
-        {
+        if (clientResponse->payload &&
+            clientResponse->payload->type != PAYLOAD_TYPE_REPRESENTATION) {
             OIC_LOG_V(DEBUG, TAG, "Incoming payload not a representation");
             return response;
         }
 
-        OCRepPayload* discoveryPayload = (OCRepPayload*) (clientResponse->payload);
-        if (!discoveryPayload)
-        {
+        OCRepPayload *discoveryPayload = (OCRepPayload * )(clientResponse->payload);
+        if (!discoveryPayload) {
             OIC_LOG_V(DEBUG, TAG, "invalid payload");
             return response;
         }
 
         char sourceIPAddr[OIC_STRING_MAX_VALUE] =
-        { '\0' };
+                {'\0'};
         snprintf(sourceIPAddr, sizeof(sourceIPAddr), "%s", clientResponse->addr->addr);
 
         OIC_LOG_V(DEBUG, TAG, "Discovered %s @ %s", discoveryPayload->uri, sourceIPAddr);
 
         /* Start a discovery query*/
         char szQueryUri[64] =
-        { 0 };
+                {0};
 
         snprintf(szQueryUri, sizeof(szQueryUri), UNICAST_PROVISIONING_QUERY, sourceIPAddr, IP_PORT);
 
@@ -517,57 +453,52 @@ OCStackApplicationResult SubscribeProvPresenceCallback(void* ctx, OCDoHandle han
          return OC_STACK_KEEP_TRANSACTION;
          }*/
     }
+
     return OC_STACK_KEEP_TRANSACTION;
+
 }
 
-OCStackResult SubscribeProvPresence(OCQualityOfService qos, const char* requestURI)
-{
+OCStackResult SubscribeProvPresence(OCQualityOfService qos, const char *requestURI) {
     OCStackResult ret = OC_STACK_ERROR;
 
     OCCallbackData cbData;
 
     cbData.cb = &SubscribeProvPresenceCallback;
-    cbData.context = (void*) DEFAULT_CONTEXT_VALUE;
+    cbData.context = (void *) DEFAULT_CONTEXT_VALUE;
     cbData.cd = NULL;
 
     ret = OCDoResource(NULL, OC_REST_PRESENCE, requestURI, 0, 0, OC_CONNTYPE_BLE, OC_LOW_QOS,
-            &cbData, NULL, 0);
+                       &cbData, NULL, 0);
 
-    if (ret != OC_STACK_OK)
-    {
+    if (ret != OC_STACK_OK) {
         OIC_LOG(ERROR, TAG, "OCStack resource error");
     }
 
     return ret;
 }
 
-OCStackResult FindNetworkResource()
-{
+OCStackResult FindNetworkResource() {
     OCStackResult ret = OC_STACK_ERROR;
-    if (OCStop() != OC_STACK_OK)
-    {
+    if (OCStop() != OC_STACK_OK) {
         OIC_LOG(ERROR, TAG, "OCStack stop error");
     }
 
     return ret;
 }
 
-ProvisioningInfo* PrepareProvisioingStatusCB(OCClientResponse * clientResponse,
-        ProvStatus provStatus)
-{
+ProvisioningInfo *PrepareProvisioingStatusCB(OCClientResponse *clientResponse,
+                                             ProvStatus provStatus) {
 
     ProvisioningInfo *provInfo = (ProvisioningInfo *) OICCalloc(1, sizeof(ProvisioningInfo));
 
-    if (provInfo == NULL)
-    {
+    if (provInfo == NULL) {
         OIC_LOG_V(ERROR, TAG, "Failed to allocate memory");
         return NULL;
     }
 
     OCDevAddr *devAddr = (OCDevAddr *) OICCalloc(1, sizeof(OCDevAddr));
 
-    if (devAddr == NULL)
-    {
+    if (devAddr == NULL) {
         OIC_LOG_V(ERROR, TAG, "Failed to allocate memory");
         return NULL;
     }
@@ -583,17 +514,14 @@ ProvisioningInfo* PrepareProvisioingStatusCB(OCClientResponse * clientResponse,
 }
 
 bool ValidateEasySetupParams(const EnrolleeNWProvInfo_t *netInfo,
-        OCProvisioningStatusCB provisioningStatusCallback)
-{
+                             OCProvisioningStatusCB provisioningStatusCallback) {
 
-    if (netInfo == NULL || netInfo->netAddressInfo.WIFI.ipAddress == NULL)
-    {
+    if (netInfo == NULL || netInfo->netAddressInfo.WIFI.ipAddress == NULL) {
         OIC_LOG(ERROR, TAG, "Request URI is NULL");
         return false;
     }
 
-    if (provisioningStatusCallback == NULL)
-    {
+    if (provisioningStatusCallback == NULL) {
         OIC_LOG(ERROR, TAG, "ProvisioningStatusCallback is NULL");
         return false;
     }
@@ -602,12 +530,10 @@ bool ValidateEasySetupParams(const EnrolleeNWProvInfo_t *netInfo,
 
 }
 
-bool InProgress()
-{
+bool InProgress() {
 
     // It means already Easy Setup provisioning session is going on.
-    if (NULL != cbData)
-    {
+    if (NULL != cbData) {
         OIC_LOG(ERROR, TAG, "Easy setup session is already in progress");
         return true;
     }
@@ -615,45 +541,38 @@ bool InProgress()
     return false;
 }
 
-bool SetProgress(OCProvisioningStatusCB provisioningStatusCallback)
-{
-    ca_mutex_lock(g_provisioningMutex);
+bool SetProgress(OCProvisioningStatusCB provisioningStatusCallback) {
+
 
     if (InProgress())
         return false;
 
     cbData = provisioningStatusCallback;
 
-    ca_mutex_unlock(g_provisioningMutex);
 
     return true;
 }
 
-bool ResetProgress()
-{
-    ca_mutex_lock(g_provisioningMutex);
+bool ResetProgress() {
+
 
     cbData = NULL;
 
-    ca_mutex_unlock(g_provisioningMutex);
-       return true;
+    return true;
 }
 
-ProvisioningInfo* CreateCallBackObject()
-{
+ProvisioningInfo *CreateCallBackObject() {
 
     ProvisioningInfo *provInfo = (ProvisioningInfo *) OICCalloc(1, sizeof(ProvisioningInfo));
 
-    if (provInfo == NULL)
-    {
+    if (provInfo == NULL) {
         OIC_LOG_V(ERROR, TAG, "Failed to allocate memory");
         return NULL;
     }
 
     OCDevAddr *devAddr = (OCDevAddr *) OICCalloc(1, sizeof(OCDevAddr));
 
-    if (devAddr == NULL)
-    {
+    if (devAddr == NULL) {
         OIC_LOG_V(ERROR, TAG, "Failed to allocate memory");
         return NULL;
     }
@@ -664,8 +583,7 @@ ProvisioningInfo* CreateCallBackObject()
 
 }
 
-ProvisioningInfo* GetCallbackObjectOnError(ProvStatus status)
-{
+ProvisioningInfo *GetCallbackObjectOnError(ProvStatus status) {
 
     ProvisioningInfo *provInfo = CreateCallBackObject();
     strncpy(provInfo->provDeviceInfo.addr->addr, netProvInfo->netAddressInfo.WIFI.ipAddress,
@@ -675,9 +593,8 @@ ProvisioningInfo* GetCallbackObjectOnError(ProvStatus status)
     return provInfo;
 }
 
-ProvisioningInfo* GetCallbackObjectOnSuccess(OCClientResponse * clientResponse,
-        ProvStatus provStatus)
-{
+ProvisioningInfo *GetCallbackObjectOnSuccess(OCClientResponse *clientResponse,
+                                             ProvStatus provStatus) {
     ProvisioningInfo *provInfo = CreateCallBackObject();
     strncpy(provInfo->provDeviceInfo.addr->addr, clientResponse->addr->addr,
             sizeof(provInfo->provDeviceInfo.addr->addr));
@@ -686,11 +603,9 @@ ProvisioningInfo* GetCallbackObjectOnSuccess(OCClientResponse * clientResponse,
     return provInfo;
 }
 
-bool ValidateFinddResourceResponse(OCClientResponse * clientResponse)
-{
+bool ValidateFinddResourceResponse(OCClientResponse * clientResponse) {
 
-    if (!(clientResponse) || !(clientResponse->payload))
-    {
+    if (!(clientResponse) || !(clientResponse->payload)) {
 
         OIC_LOG_V(INFO, TAG, "ProvisionEnrolleeResponse received Null clientResponse");
 
@@ -700,11 +615,9 @@ bool ValidateFinddResourceResponse(OCClientResponse * clientResponse)
     return true;
 }
 
-bool ValidateEnrolleResponse(OCClientResponse * clientResponse)
-{
+bool ValidateEnrolleResponse(OCClientResponse * clientResponse) {
 
-    if (!(clientResponse) || !(clientResponse->payload))
-    {
+    if (!(clientResponse) || !(clientResponse->payload)) {
 
         OIC_LOG_V(INFO, TAG, "ProvisionEnrolleeResponse received Null clientResponse");
 
@@ -712,8 +625,7 @@ bool ValidateEnrolleResponse(OCClientResponse * clientResponse)
 
     }
 
-    if (clientResponse->payload->type != PAYLOAD_TYPE_REPRESENTATION)
-    {
+    if (clientResponse->payload->type != PAYLOAD_TYPE_REPRESENTATION) {
 
         OIC_LOG_V(DEBUG, TAG, "Incoming payload not a representation");
         return false;
@@ -725,33 +637,25 @@ bool ValidateEnrolleResponse(OCClientResponse * clientResponse)
 
 }
 
-void SuccessCallback(OCClientResponse * clientResponse)
-{
+void SuccessCallback(OCClientResponse * clientResponse) {
     ProvisioningInfo *provInfo = GetCallbackObjectOnSuccess(clientResponse, DEVICE_PROVISIONED);
     cbData(provInfo);
 }
 
-bool ClearMemory()
-{
+bool ClearMemory() {
 
     OIC_LOG(DEBUG, TAG, "thread_pool_add_task of FindProvisioningResource failed");
-    ca_thread_pool_free(g_threadPoolHandle);
-    ca_mutex_unlock(g_provisioningMutex);
-    ca_mutex_free(g_provisioningMutex);
-    ca_cond_free(g_provisioningCond);
 
     return true;
 
 }
 
-bool ConfigEnrolleeObject(const EnrolleeNWProvInfo_t *netInfo)
-{
+bool ConfigEnrolleeObject(const EnrolleeNWProvInfo_t *netInfo) {
 
     //Copy Network Provisioning  Information
     netProvInfo = (EnrolleeNWProvInfo_t *) OICCalloc(1, sizeof(EnrolleeNWProvInfo_t));
 
-    if (netProvInfo == NULL)
-    {
+    if (netProvInfo == NULL) {
         OIC_LOG(ERROR, TAG, "Invalid input..");
         return false;
     }
@@ -759,23 +663,21 @@ bool ConfigEnrolleeObject(const EnrolleeNWProvInfo_t *netInfo)
     memcpy(netProvInfo, netInfo, sizeof(EnrolleeNWProvInfo_t));
 
     OIC_LOG_V(DEBUG, TAG, "Network Provisioning Info. SSID = %s",
-            netProvInfo->netAddressInfo.WIFI.ssid);
+              netProvInfo->netAddressInfo.WIFI.ssid);
 
     OIC_LOG_V(DEBUG, TAG, "Network Provisioning Info. PWD = %s",
-            netProvInfo->netAddressInfo.WIFI.pwd);
+              netProvInfo->netAddressInfo.WIFI.pwd);
 
     OIC_LOG_V(DEBUG, TAG, "Network Provisioning Info. MAC ADDRESS = %s",
-            netInfo->netAddressInfo.LE.leMacAddress);
+              netInfo->netAddressInfo.LE.leMacAddress);
 
     return true;
 
 }
 
-void LogProvisioningResponse(OCRepPayloadValue* val)
-{
+void LogProvisioningResponse(OCRepPayloadValue * val) {
 
-    switch (val->type)
-    {
+    switch (val->type) {
         case OCREP_PROP_NULL:
             OIC_LOG_V(DEBUG, TAG, "\t\t%s: NULL", val->name);
             break;
@@ -797,27 +699,31 @@ void LogProvisioningResponse(OCRepPayloadValue* val)
             OIC_LOG_V(DEBUG, TAG, "\t\t%s(OCRep):%s", val->name, val->obj->uri);
             break;
         case OCREP_PROP_ARRAY:
-            switch (val->arr.type)
-            {
+            switch (val->arr.type) {
                 case OCREP_PROP_INT:
                     OIC_LOG_V(DEBUG, TAG, "\t\t%s(int array):%lld x %lld x %lld", val->name,
-                            val->arr.dimensions[0], val->arr.dimensions[1], val->arr.dimensions[2]);
+                              val->arr.dimensions[0], val->arr.dimensions[1],
+                              val->arr.dimensions[2]);
                     break;
                 case OCREP_PROP_DOUBLE:
                     OIC_LOG_V(DEBUG, TAG, "\t\t%s(double array):%lld x %lld x %lld", val->name,
-                            val->arr.dimensions[0], val->arr.dimensions[1], val->arr.dimensions[2]);
+                              val->arr.dimensions[0], val->arr.dimensions[1],
+                              val->arr.dimensions[2]);
                     break;
                 case OCREP_PROP_BOOL:
                     OIC_LOG_V(DEBUG, TAG, "\t\t%s(bool array):%lld x %lld x %lld", val->name,
-                            val->arr.dimensions[0], val->arr.dimensions[1], val->arr.dimensions[2]);
+                              val->arr.dimensions[0], val->arr.dimensions[1],
+                              val->arr.dimensions[2]);
                     break;
                 case OCREP_PROP_STRING:
                     OIC_LOG_V(DEBUG, TAG, "\t\t%s(string array):%lld x %lld x %lld", val->name,
-                            val->arr.dimensions[0], val->arr.dimensions[1], val->arr.dimensions[2]);
+                              val->arr.dimensions[0], val->arr.dimensions[1],
+                              val->arr.dimensions[2]);
                     break;
                 case OCREP_PROP_OBJECT:
                     OIC_LOG_V(DEBUG, TAG, "\t\t%s(OCRep array):%lld x %lld x %lld", val->name,
-                            val->arr.dimensions[0], val->arr.dimensions[1], val->arr.dimensions[2]);
+                              val->arr.dimensions[0], val->arr.dimensions[1],
+                              val->arr.dimensions[2]);
                     break;
                 default:
                     //OIC_LOG_V(ERROR, TAG, "\t\t%s <-- Unknown/unsupported array type!",
diff --git a/service/easy-setup/sdk/mediator/src/camutex_pthreads.c b/service/easy-setup/sdk/mediator/src/camutex_pthreads.c
deleted file mode 100644 (file)
index 58549bc..0000000
+++ /dev/null
@@ -1,320 +0,0 @@
-//******************************************************************
-//
-// Copyright 2015 Intel Mobile Communications GmbH 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.
-//
-//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-//
-//
-//*********************************************************************
-
-/**
- * @file
- * This file provides APIs related to mutex and semaphores.
- */
-
-// Defining _POSIX_C_SOURCE macro with 199309L (or greater) as value
-// causes header files to expose definitions
-// corresponding to the POSIX.1b, Real-time extensions
-// (IEEE Std 1003.1b-1993) specification
-//
-// For this specific file, see use of clock_gettime and PTHREAD_MUTEX_DEFAULT
-#ifndef _POSIX_C_SOURCE
-#define _POSIX_C_SOURCE 200809L
-#endif
-
-#include <string.h>
-#include <pthread.h>
-#include <errno.h>
-#include <unistd.h>
-#include <time.h>
-#include <sys/time.h>
-#include <assert.h>
-#include <oic_malloc.h>
-
-#include "camutex.h"
-#include "logger.h"
-
-/**
- * TAG
- * Logging tag for module name
- */
-#define TAG PCF("UMUTEX")
-
-static const uint64_t USECS_PER_SEC = 1000000;
-static const uint64_t NANOSECS_PER_USECS = 1000;
-static const uint64_t NANOSECS_PER_SEC = 1000000000L;
-
-typedef struct _tagMutexInfo_t {
-       pthread_mutex_t mutex;
-} ca_mutex_internal;
-
-typedef struct _tagEventInfo_t {
-       pthread_cond_t cond;
-       pthread_condattr_t condattr;
-} ca_cond_internal;
-
-ca_mutex ca_mutex_new(void) {
-       ca_mutex retVal = NULL;
-       ca_mutex_internal *mutexInfo = (ca_mutex_internal*) OICMalloc(
-                       sizeof(ca_mutex_internal));
-       if (NULL != mutexInfo) {
-               // create the mutex with the attributes set
-               int ret = pthread_mutex_init(&(mutexInfo->mutex),
-                               PTHREAD_MUTEX_DEFAULT);
-               if (0 == ret) {
-                       retVal = (ca_mutex) mutexInfo;
-               } else {
-                       OIC_LOG_V(ERROR, TAG, "%s Failed to initialize mutex !", __func__);
-                       OICFree(mutexInfo);
-               }
-       }
-
-       return retVal;
-}
-
-bool ca_mutex_free(ca_mutex mutex) {
-       bool bRet = false;
-
-       ca_mutex_internal *mutexInfo = (ca_mutex_internal*) mutex;
-       if (mutexInfo) {
-               int ret = pthread_mutex_destroy(&mutexInfo->mutex);
-               if (0 == ret) {
-                       OICFree(mutexInfo);
-                       bRet = true;
-               } else {
-                       OIC_LOG_V(ERROR, TAG, "%s Failed to free mutex !", __func__);
-               }
-       } else {
-               OIC_LOG_V(ERROR, TAG, "%s Invalid mutex !", __func__);
-       }
-
-       return bRet;
-}
-
-void ca_mutex_lock(ca_mutex mutex) {
-       ca_mutex_internal *mutexInfo = (ca_mutex_internal*) mutex;
-       if (mutexInfo) {
-               int ret = pthread_mutex_lock(&mutexInfo->mutex);
-               assert(0 == ret);
-               (void) ret;
-       } else {
-               OIC_LOG_V(ERROR, TAG, "%s Invalid mutex !", __func__);
-               return;
-       }
-}
-
-bool ca_mutex_trylock(ca_mutex mutex) {
-       if (NULL == mutex) {
-               OIC_LOG_V(ERROR, TAG, "%s Invalid mutex !", __func__);
-               return false;
-       }
-
-       bool bRet = false;
-
-       ca_mutex_internal *mutexInfo = (ca_mutex_internal*) mutex;
-
-       int result = pthread_mutex_trylock(&mutexInfo->mutex);
-
-       switch (result) {
-       case 0:
-               // Success
-               bRet = true;
-               break;
-       case EINVAL:
-               OIC_LOG_V(ERROR, TAG, "%s: Invalid mutex !", __func__);
-               break;
-       case EBUSY:
-       default:
-               break;
-       }
-
-       return bRet;
-}
-
-void ca_mutex_unlock(ca_mutex mutex) {
-       ca_mutex_internal *mutexInfo = (ca_mutex_internal*) mutex;
-       if (mutexInfo) {
-               int ret = pthread_mutex_unlock(&mutexInfo->mutex);
-               assert(0 == ret);
-               (void) ret;
-       } else {
-               OIC_LOG_V(ERROR, TAG, "%s: Invalid mutex !", __func__);
-               return;
-       }
-}
-
-ca_cond ca_cond_new(void) {
-       ca_cond retVal = NULL;
-       ca_cond_internal *eventInfo = (ca_cond_internal*) OICMalloc(
-                       sizeof(ca_cond_internal));
-       if (NULL != eventInfo) {
-               int ret = pthread_condattr_init(&(eventInfo->condattr));
-               if (0 != ret) {
-                       OIC_LOG_V(ERROR, TAG,
-                                       "%s: Failed to initialize condition variable attribute %d!",
-                                       __func__, ret);
-                       return retVal;
-               }
-
-#if defined(__ANDROID__) || _POSIX_TIMERS > 0
-               ret = pthread_condattr_setclock(&(eventInfo->condattr), CLOCK_MONOTONIC);
-
-               if(0 != ret)
-               {
-                       OIC_LOG_V(ERROR, TAG, "%s: Failed to set condition variable clock %d!",
-                                       __func__, ret);
-                       return retVal;
-               }
-#endif
-               ret = pthread_cond_init(&(eventInfo->cond), &(eventInfo->condattr));
-               if (0 == ret) {
-                       retVal = (ca_cond) eventInfo;
-               } else {
-                       OIC_LOG_V(ERROR, TAG,
-                                       "%s: Failed to initialize condition variable %d!", __func__,
-                                       ret);
-                       OICFree(eventInfo);
-               }
-       }
-
-       return retVal;
-}
-
-void ca_cond_free(ca_cond cond) {
-       ca_cond_internal *eventInfo = (ca_cond_internal*) cond;
-       if (eventInfo != NULL) {
-               int ret = pthread_cond_destroy(&(eventInfo->cond));
-               int ret2 = pthread_condattr_destroy(&(eventInfo->condattr));
-               if (0 == ret && 0 == ret2) {
-                       OICFree(cond);
-               } else {
-                       OIC_LOG_V(ERROR, TAG,
-                                       "%s: Failed to destroy condition variable %d, %d", __func__,
-                                       ret, ret2);
-               }
-       } else {
-               OIC_LOG_V(ERROR, TAG, "%s: Invalid parameter", __func__);
-       }
-}
-
-void ca_cond_signal(ca_cond cond) {
-       ca_cond_internal *eventInfo = (ca_cond_internal*) cond;
-       if (eventInfo != NULL) {
-               int ret = pthread_cond_signal(&(eventInfo->cond));
-               if (0 != ret) {
-                       OIC_LOG_V(ERROR, TAG, "%s: Failed to signal condition variable",
-                                       __func__);
-               }
-       } else {
-               OIC_LOG_V(ERROR, TAG, "%s: Invalid parameter", __func__);
-       }
-}
-
-void ca_cond_broadcast(ca_cond cond) {
-       ca_cond_internal* eventInfo = (ca_cond_internal*) cond;
-       if (eventInfo != NULL) {
-               int ret = pthread_cond_broadcast(&(eventInfo->cond));
-               if (0 != ret) {
-                       OIC_LOG_V(ERROR, TAG, "%s: failed to signal condition variable",
-                                       __func__);
-               }
-       } else {
-               OIC_LOG_V(ERROR, TAG, "%s: Invalid parameter", __func__);
-       }
-}
-
-void ca_cond_wait(ca_cond cond, ca_mutex mutex) {
-       ca_cond_wait_for(cond, mutex, 0L);
-}
-
-struct timespec ca_get_current_time() {
-#if defined(__ANDROID__) || _POSIX_TIMERS > 0
-       struct timespec ts;
-       clock_gettime(CLOCK_MONOTONIC, &ts);
-       return ts;
-#else
-       struct timeval tv;
-       gettimeofday(&tv, NULL);
-       struct timespec ts;
-       TIMEVAL_TO_TIMESPEC(&tv, &ts);
-       return ts;
-#endif
-}
-
-void ca_add_microseconds_to_timespec(struct timespec* ts,
-               uint64_t microseconds) {
-       time_t secPart = microseconds / USECS_PER_SEC;
-       uint64_t nsecPart = (microseconds % USECS_PER_SEC) * NANOSECS_PER_USECS;
-       uint64_t totalNs = ts->tv_nsec + nsecPart;
-       time_t secOfNs = totalNs / NANOSECS_PER_SEC;
-
-       ts->tv_nsec = (totalNs) % NANOSECS_PER_SEC;
-       ts->tv_sec += secPart + secOfNs;
-}
-
-CAWaitResult_t ca_cond_wait_for(ca_cond cond, ca_mutex mutex,
-               uint64_t microseconds) {
-       CAWaitResult_t retVal = CA_WAIT_INVAL;
-
-       ca_cond_internal *eventInfo = (ca_cond_internal*) cond;
-       ca_mutex_internal *mutexInfo = (ca_mutex_internal*) mutex;
-
-       if (NULL == mutexInfo) {
-               OIC_LOG_V(ERROR, TAG, "%s: Invalid mutex", __func__);
-               return CA_WAIT_INVAL;
-       }
-
-       if (NULL == eventInfo) {
-               OIC_LOG_V(ERROR, TAG, "%s: Invalid condition", __func__);
-               return CA_WAIT_INVAL;
-       }
-
-       if (microseconds > 0) {
-               struct timespec abstime = ca_get_current_time();
-               ca_add_microseconds_to_timespec(&abstime, microseconds);
-
-               //Wait for the given time
-               int ret = pthread_cond_timedwait(&(eventInfo->cond),
-                               &(mutexInfo->mutex), &abstime);
-               switch (ret) {
-               case 0:
-                       // Success
-                       retVal = CA_WAIT_SUCCESS;
-                       break;
-               case ETIMEDOUT:
-                       retVal = CA_WAIT_TIMEDOUT;
-                       break;
-               case EINVAL:
-                       OIC_LOG_V(ERROR, TAG, "%s: condition, mutex, or abstime is Invalid",
-                                       __func__);
-                       retVal = CA_WAIT_INVAL;
-                       break;
-               default:
-                       OIC_LOG_V(ERROR, TAG, "%s: pthread_cond_timedwait returned %d",
-                                       __func__, retVal);
-                       retVal = CA_WAIT_INVAL;
-                       break;
-               }
-       } else {
-               // Wait forever
-               int ret = pthread_cond_wait(&eventInfo->cond, &mutexInfo->mutex);
-               retVal = ret == 0 ? CA_WAIT_SUCCESS : CA_WAIT_INVAL;
-       }
-
-       return retVal;
-}
-
@@ -1,4 +1,4 @@
- //******************************************************************
+//******************************************************************
 //
 // Copyright 2015 Samsung Electronics All Rights Reserved.
 //
 #include <stdint.h>
 #include <sstream>
 
-#include "easysetupmgr.h"
+#include "prov_adapter.h"
 
 //Use ipv4addr for both InitDiscovery and InitDeviceDiscovery
-char ipv4addr[IPV4_ADDR_SIZE] = { 0 };
+char ipv4addr[IPV4_ADDR_SIZE] = {0};
 
 static OCProvisioningStatusCB cbData = NULL;
 
@@ -43,7 +43,7 @@ OCStackResult InitEasySetupManager() {
     } else {
         result = OC_STACK_ERROR;
         OIC_LOG_V(ERROR, TAG, "InitProvisioningHandler returned error = %s",
-                result);
+                  result);
     }
 
     return result;
@@ -57,12 +57,10 @@ OCStackResult RegisterProvisioningStausCallback(
         OCProvisioningStatusCB provisioningStatusCallback) {
     OCStackResult result = OC_STACK_OK;
 
-    if(provisioningStatusCallback != NULL)
-    {
+    if (provisioningStatusCallback != NULL) {
         cbData = provisioningStatusCallback;
     }
-    else
-    {
+    else {
         result = OC_STACK_ERROR;
         OIC_LOG(ERROR, TAG, "provisioningStatusCallback is NULL");
     }
@@ -76,8 +74,7 @@ void UnRegisterProvisioningStausCallback() {
     }
 }
 
-OCStackResult ProvisionEnrollee(const EnrolleeNWProvInfo_t *netInfo)
-{
+OCStackResult ProvisionEnrollee(const EnrolleeNWProvInfo_t *netInfo) {
     return StartProvisioningProcess(netInfo, cbData);
 }
 
@@ -18,7 +18,7 @@
 //
 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 
-#include "provisioninghandler.h"
+#include "provisioning.h"
 
 //Standard includes
 #include <stdio.h>
@@ -26,6 +26,7 @@
 #include <string.h>
 #include <signal.h>
 #include <unistd.h>
+#include <pthread.h>
 
 //EasySetup include files
 #include "ocpayload.h"
 #include "logger.h"
 #include "oic_malloc.h"
 
-/**
- * @var g_provisioningMutex
- * @brief Mutex to synchronize access to g_caDtlsContext.
- */
-static ca_mutex g_provisioningMutex = NULL;
-static ca_cond g_provisioningCond = NULL;
 bool g_provisioningCondFlag = false;
 
-static EnrolleeNWProvInfo_tnetProvInfo;
+static EnrolleeNWProvInfo_t *netProvInfo;
 
 /**
  * @var cbData
  * @brief Callback for providing provisioning status callback to application
  */
 static OCProvisioningStatusCB cbData = NULL;
-static ca_thread_pool_t g_threadPoolHandle = NULL;
 
-void ErrorCallback(ProvStatus status)
-{
+void ErrorCallback(ProvStatus status) {
     ProvisioningInfo *provInfo = GetCallbackObjectOnError(status);
     cbData(provInfo);
     ResetProgress();
 }
 
-OCStackResult InitProvisioningHandler()
-{
+
+OCStackResult InitProvisioningHandler() {
     OCStackResult ret = OC_STACK_ERROR;
     /* Initialize OCStack*/
-    if (OCInit(NULL, 0, OC_CLIENT) != OC_STACK_OK)
-    {
+    if (OCInit(NULL, 0, OC_CLIENT) != OC_STACK_OK) {
         OIC_LOG(ERROR, TAG, "OCStack init error");
         return ret;
     }
 
-    g_provisioningMutex = ca_mutex_new();
 
-    OIC_LOG(DEBUG, TAG, "ca_thread_pool_init initializing");
+// start
 
-    if (CA_STATUS_OK != ca_thread_pool_init(2, &g_threadPoolHandle))
-    {
-        OIC_LOG(DEBUG, TAG, "thread_pool_init failed");
-        return OC_STACK_ERROR;
-    }
+    char *string = "listeningFunc invoked in a thread";
 
-    g_provisioningCond = ca_cond_new();
-    if (NULL == g_provisioningCond)
-    {
-        OIC_LOG(DEBUG, TAG, "Failed to create condition");
-        ca_mutex_free(g_provisioningMutex);
-        ca_thread_pool_free(g_threadPoolHandle);
-        return OC_STACK_ERROR;
-    }
+    pthread_t thread_handle;
 
-    char *string = "listeningFunc invoked in a thread";
-    if (CA_STATUS_OK != ca_thread_pool_add_task(g_threadPoolHandle, listeningFunc, (void *) string))
-    {
-        OIC_LOG(DEBUG, TAG, "thread_pool_add_task failed");
-        ca_thread_pool_free(g_threadPoolHandle);
-        ca_mutex_unlock(g_provisioningMutex);
-        ca_mutex_free(g_provisioningMutex);
-        ca_cond_free(g_provisioningCond);
+    if (pthread_create(&thread_handle, NULL, listeningFunc, (void *) string)) {
+        OIC_LOG(DEBUG, TAG, "Thread creation failed");
         return OC_STACK_ERROR;
     }
 
+    pthread_join(thread_handle, NULL);
+
+// end 
+
     ResetProgress();
 
     return OC_STACK_OK;
 }
 
-OCStackResult TerminateProvisioningHandler()
-{
+OCStackResult TerminateProvisioningHandler() {
     OCStackResult ret = OC_STACK_ERROR;
-    if (OCStop() != OC_STACK_OK)
-    {
+    if (OCStop() != OC_STACK_OK) {
         OIC_LOG(ERROR, TAG, "OCStack stop error");
     }
 
-    ca_mutex_lock(g_provisioningMutex);
     g_provisioningCondFlag = true;
-    //ca_cond_signal(g_provisioningCond);
-    ca_mutex_unlock(g_provisioningMutex);
-
-    ca_mutex_free(g_provisioningMutex);
-    g_provisioningMutex = NULL;
-
-    ca_thread_pool_free(g_threadPoolHandle);
-    g_threadPoolHandle = NULL;
 
     ret = OC_STACK_OK;
     return ret;
 }
 
-void listeningFunc(void *data)
-{
-    while (!g_provisioningCondFlag)
-    {
+void *listeningFunc(void *data) {
+    while (!g_provisioningCondFlag) {
         OCStackResult result;
 
-        ca_mutex_lock(g_provisioningMutex);
         result = OCProcess();
-        ca_mutex_unlock(g_provisioningMutex);
 
-        if (result != OC_STACK_OK)
-        {
+        if (result != OC_STACK_OK) {
             OIC_LOG(ERROR, TAG, "OCStack stop error");
         }
 
@@ -149,69 +111,57 @@ void listeningFunc(void *data)
     }
 }
 
-OCStackApplicationResult ProvisionEnrolleeResponse(void* ctx, OCDoHandle handle,
-        OCClientResponse * clientResponse)
-{
+OCStackApplicationResult ProvisionEnrolleeResponse(void *ctx, OCDoHandle handle,
+                                                   OCClientResponse *clientResponse) {
 
     ProvisioningInfo *provInfo;
 
-    if (!ValidateEnrolleResponse(clientResponse))
-    {
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+    if (!ValidateEnrolleResponse(clientResponse)) {
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         return OC_STACK_DELETE_TRANSACTION;
     }
 
-    chartnn;
-    charcd;
+    char *tnn;
+    char *cd;
 
-    OCRepPayload* input = (OCRepPayload*) (clientResponse->payload);
+    OCRepPayload *input = (OCRepPayload * )(clientResponse->payload);
 
-    while (input)
-    {
+    while (input) {
 
         int64_t ps;
-        if (OCRepPayloadGetPropInt(input, OC_RSRVD_ES_PS, &ps))
-        {
+        if (OCRepPayloadGetPropInt(input, OC_RSRVD_ES_PS, &ps)) {
 
-            if (ps == 1)
-            {
+            if (ps == 1) {
                 OIC_LOG_V(DEBUG, TAG, "PS is proper");
                 input = input->next;
                 continue;
             }
-            else
-            {
+            else {
                 OIC_LOG_V(DEBUG, TAG, "PS is NOT proper");
                 goto Error;
 
             }
         }
 
-        if (OCRepPayloadGetPropString(input, OC_RSRVD_ES_TNN, &tnn))
-        {
-            if (!strcmp(tnn, netProvInfo->netAddressInfo.WIFI.ssid))
-            {
+        if (OCRepPayloadGetPropString(input, OC_RSRVD_ES_TNN, &tnn)) {
+            if (!strcmp(tnn, netProvInfo->netAddressInfo.WIFI.ssid)) {
                 OIC_LOG_V(DEBUG, TAG, "SSID is proper");
                 input = input->next;
                 continue;
             }
-            else
-            {
+            else {
                 OIC_LOG_V(DEBUG, TAG, "SSID is NOT proper");
                 goto Error;
             }
         }
 
-        if (OCRepPayloadGetPropString(input, OC_RSRVD_ES_CD, &cd))
-        {
-            if (!strcmp(cd, netProvInfo->netAddressInfo.WIFI.pwd))
-            {
+        if (OCRepPayloadGetPropString(input, OC_RSRVD_ES_CD, &cd)) {
+            if (!strcmp(cd, netProvInfo->netAddressInfo.WIFI.pwd)) {
                 OIC_LOG_V(DEBUG, TAG, "Password is proper");
                 input = input->next;
                 continue;
             }
-            else
-            {
+            else {
                 OIC_LOG_V(DEBUG, TAG, "Password is NOT proper");
                 goto Error;
             }
@@ -230,19 +180,18 @@ OCStackApplicationResult ProvisionEnrolleeResponse(void* ctx, OCDoHandle handle,
     Error:
     {
 
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
 
         return OC_STACK_DELETE_TRANSACTION;
     }
 
 }
 
-OCStackResult ProvisionEnrollee(OCQualityOfService qos, const char* query, const char* resUri,
-        OCDevAddr *destination)
-{
+OCStackResult ProvisionEnrollee(OCQualityOfService qos, const char *query, const char *resUri,
+                                OCDevAddr *destination) {
     OIC_LOG_V(INFO, TAG, "\n\nExecuting ProvisionEnrollee%s", __func__);
 
-    OCRepPayloadpayload = OCRepPayloadCreate();
+    OCRepPayload *payload = OCRepPayloadCreate();
 
     OCRepPayloadSetUri(payload, resUri);
     OCRepPayloadSetPropString(payload, OC_RSRVD_ES_TNN, netProvInfo->netAddressInfo.WIFI.ssid);
@@ -251,47 +200,44 @@ OCStackResult ProvisionEnrollee(OCQualityOfService qos, const char* query, const
     OIC_LOG_V(DEBUG, TAG, "OCPayload ready for ProvisionEnrollee");
 
     OCStackResult ret = InvokeOCDoResource(query, OC_REST_PUT, destination, OC_HIGH_QOS,
-            ProvisionEnrolleeResponse, payload, NULL, 0);
+                                           ProvisionEnrolleeResponse, payload, NULL, 0);
 
     return ret;
 }
 
-OCStackApplicationResult GetProvisioningStatusResponse(void* ctx, OCDoHandle handle,
-        OCClientResponse * clientResponse)
-{
+OCStackApplicationResult GetProvisioningStatusResponse(void *ctx, OCDoHandle handle,
+                                                       OCClientResponse *clientResponse) {
 
     ProvisioningInfo *provInfo;
 
-    if (!ValidateEnrolleResponse(clientResponse))
-    {
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+    if (!ValidateEnrolleResponse(clientResponse)) {
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         ClearMemory();
         return OC_STACK_DELETE_TRANSACTION;
     }
 
-    OCRepPayload* input = (OCRepPayload*) (clientResponse->payload);
+    OCRepPayload *input = (OCRepPayload * )(clientResponse->payload);
 
     char query[OIC_STRING_MAX_VALUE] =
-    { '\0' };
+            {'\0'};
     char resURI[MAX_URI_LENGTH] =
-    { '\0' };
+            {'\0'};
 
     OIC_LOG_V(DEBUG, TAG, "resUri = %s", input->uri);
 
-    strncpy(resURI, input->uri, sizeof(resURI)-1);
+    strncpy(resURI, input->uri, sizeof(resURI) - 1);
 
     snprintf(query, sizeof(query), UNICAST_PROV_STATUS_QUERY, clientResponse->addr->addr, IP_PORT,
-            resURI);
+             resURI);
 
     //OCPayloadLogRep(DEBUG,TAG,input);
 
     if (ProvisionEnrollee(OC_HIGH_QOS, query, OC_RSRVD_ES_URI_PROV, clientResponse->addr)
-            != OC_STACK_OK)
-    {
+        != OC_STACK_OK) {
         OIC_LOG(INFO, TAG,
                 "GetProvisioningStatusResponse received NULL clientResponse.Invoking Provisioing Status Callback");
 
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         ClearMemory();
         return OC_STACK_DELETE_TRANSACTION;
     }
@@ -300,40 +246,38 @@ OCStackApplicationResult GetProvisioningStatusResponse(void* ctx, OCDoHandle han
 
 }
 
-OCStackResult InvokeOCDoResource(const charquery, OCMethod method, const OCDevAddr *dest,
-        OCQualityOfService qos, OCClientResponseHandler cb, OCRepPayload* payload,
-        OCHeaderOption * options, uint8_t numOptions)
-{
+OCStackResult InvokeOCDoResource(const char *query, OCMethod method, const OCDevAddr *dest,
+                                 OCQualityOfService qos, OCClientResponseHandler cb,
+                                 OCRepPayload *payload,
+                                 OCHeaderOption *options, uint8_t numOptions) {
     OCStackResult ret;
     OCCallbackData cbData;
 
     cbData.cb = cb;
-    cbData.context = (void*) DEFAULT_CONTEXT_VALUE;
+    cbData.context = (void *) DEFAULT_CONTEXT_VALUE;
     cbData.cd = NULL;
 
-    ret = OCDoResource(NULL, method, query, dest, (OCPayload*) payload, OC_CONNTYPE, qos, &cbData,
-            options, numOptions);
+    ret = OCDoResource(NULL, method, query, dest, (OCPayload *) payload, OC_CONNTYPE, qos, &cbData,
+                       options, numOptions);
 
-    if (ret != OC_STACK_OK)
-    {
+    if (ret != OC_STACK_OK) {
         OIC_LOG_V(ERROR, TAG, "OCDoResource returns error %d with method %d", ret, method);
     }
 
     return ret;
 }
 
-OCStackResult GetProvisioningStatus(OCQualityOfService qos, const char* query,
-        const OCDevAddr *destination)
-{
+OCStackResult GetProvisioningStatus(OCQualityOfService qos, const char *query,
+                                    const OCDevAddr *destination) {
     OCStackResult ret = OC_STACK_ERROR;
     OCHeaderOption options[MAX_HEADER_OPTIONS];
 
     OIC_LOG_V(INFO, TAG, "\n\nExecuting %s", __func__);
 
     uint8_t option0[] =
-    { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
+            {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
     uint8_t option1[] =
-    { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
+            {11, 12, 13, 14, 15, 16, 17, 18, 19, 20};
     memset(options, 0, sizeof(OCHeaderOption) * MAX_HEADER_OPTIONS);
     options[0].protocolID = OC_COAP_ID;
     options[0].optionID = 2048;
@@ -345,67 +289,65 @@ OCStackResult GetProvisioningStatus(OCQualityOfService qos, const char* query,
     options[1].optionLength = 10;
 
     ret = InvokeOCDoResource(query, OC_REST_GET, destination, OC_HIGH_QOS,
-            GetProvisioningStatusResponse, NULL, options, 2);
+                             GetProvisioningStatusResponse, NULL, options, 2);
     return ret;
 }
 
 OCStackResult StartProvisioningProcess(const EnrolleeNWProvInfo_t *netInfo,
-        OCProvisioningStatusCB provisioningStatusCallback)
-{
+                                       OCProvisioningStatusCB provisioningStatusCallback) {
 
     OCStackResult result = OC_STACK_ERROR;
 
-    if (!ValidateEasySetupParams(netInfo, provisioningStatusCallback))
-    {
+    char *string = "StartProvisioningProcess in a thread";
+
+    pthread_t thread_handle;
+
+    if (!ValidateEasySetupParams(netInfo, provisioningStatusCallback)) {
         goto Error;
     }
 
     //Only basis test is done for below API
-    if (!SetProgress(provisioningStatusCallback))
-    {
+    if (!SetProgress(provisioningStatusCallback)) {
         // Device provisioning session is running already.
         OIC_LOG(INFO, TAG, PCF("Device provisioning session is running already"));
         goto Error;
     }
 
-    if (!ConfigEnrolleeObject(netInfo))
-    {
+    if (!ConfigEnrolleeObject(netInfo)) {
         goto Error;
     }
 
-    if (CA_STATUS_OK != ca_thread_pool_add_task(g_threadPoolHandle, FindProvisioningResource,
-            (void *) ""))
-    {
+    if (pthread_create(&thread_handle, NULL, FindProvisioningResource, string)) {
+        OIC_LOG(DEBUG, TAG, "Thread creation failed");
         goto Error;
     }
 
+    pthread_join(thread_handle, NULL);
+
     return OC_STACK_OK;
 
     Error:
     {
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         ClearMemory();
         return OC_STACK_ERROR;
     }
 
 }
 
-void StopProvisioningProcess()
-{
+void StopProvisioningProcess() {
     //Only basis test is done for below API
     ResetProgress();
 }
 
 // This is a function called back when a device is discovered
-OCStackApplicationResult FindProvisioningResourceResponse(void* ctx, OCDoHandle handle,
-        OCClientResponse * clientResponse)
-{
+OCStackApplicationResult FindProvisioningResourceResponse(void *ctx, OCDoHandle handle,
+                                                          OCClientResponse *clientResponse) {
 
     OIC_LOG(INFO, TAG, PCF("Entering FindProvisioningResourceResponse"));
 
-    if (!ValidateFinddResourceResponse(clientResponse))
-    {
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+    if (!ValidateFinddResourceResponse(clientResponse)) {
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         return OC_STACK_DELETE_TRANSACTION;
     }
 
@@ -413,28 +355,26 @@ OCStackApplicationResult FindProvisioningResourceResponse(void* ctx, OCDoHandle
 
     ProvisioningInfo *provInfo;
     char szQueryUri[64] =
-    { 0 };
+            {0};
 
-    OCDiscoveryPayload* discoveryPayload = (OCDiscoveryPayload*) (clientResponse->payload);
+    OCDiscoveryPayload *discoveryPayload = (OCDiscoveryPayload * )(clientResponse->payload);
 
     // Need to conform if below check is required or not. As Null check of clientResponse->payload is already performed above
-    if (!discoveryPayload)
-    {
+    if (!discoveryPayload) {
         OIC_LOG_V(DEBUG, TAG, "Failed To parse");
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         return OC_STACK_DELETE_TRANSACTION;
     }
 
     OIC_LOG_V(DEBUG, TAG, "resUri = %s", discoveryPayload->resources->uri);
 
     snprintf(szQueryUri, sizeof(szQueryUri), UNICAST_PROV_STATUS_QUERY,
-            clientResponse->devAddr.addr, IP_PORT, discoveryPayload->resources->uri);
+             clientResponse->devAddr.addr, IP_PORT, discoveryPayload->resources->uri);
 
     OIC_LOG_V(DEBUG, TAG, "query before GetProvisioningStatus call = %s", szQueryUri);
 
-    if (GetProvisioningStatus(OC_HIGH_QOS, szQueryUri, &clientResponse->devAddr) != OC_STACK_OK)
-    {
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+    if (GetProvisioningStatus(OC_HIGH_QOS, szQueryUri, &clientResponse->devAddr) != OC_STACK_OK) {
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         return OC_STACK_DELETE_TRANSACTION;
     }
 
@@ -442,74 +382,68 @@ OCStackApplicationResult FindProvisioningResourceResponse(void* ctx, OCDoHandle
 
 }
 
-void FindProvisioningResource(void *data)
-{
+void *FindProvisioningResource(void *data) {
     OCStackResult ret = OC_STACK_ERROR;
 
     /* Start a discovery query*/
     char szQueryUri[64] =
-    { 0 };
+            {0};
 
     snprintf(szQueryUri, sizeof(szQueryUri), UNICAST_PROVISIONING_QUERY,
-            netProvInfo->netAddressInfo.WIFI.ipAddress, IP_PORT);
+             netProvInfo->netAddressInfo.WIFI.ipAddress, IP_PORT);
 
     OIC_LOG_V(DEBUG, TAG, "szQueryUri = %s", szQueryUri);
 
     OCCallbackData ocCBData;
 
     ocCBData.cb = FindProvisioningResourceResponse;
-    ocCBData.context = (void*) DEFAULT_CONTEXT_VALUE;
+    ocCBData.context = (void *) DEFAULT_CONTEXT_VALUE;
     ocCBData.cd = NULL;
 
     ret = OCDoResource(NULL, OC_REST_DISCOVER, szQueryUri, NULL, NULL, OC_CONNTYPE, OC_LOW_QOS,
-            &ocCBData, NULL, 0);
+                       &ocCBData, NULL, 0);
 
-    if (ret != OC_STACK_OK)
-    {
-        ErrorCallback( DEVICE_NOT_PROVISIONED);
+    if (ret != OC_STACK_OK) {
+        ErrorCallback(DEVICE_NOT_PROVISIONED);
         ClearMemory();
     }
 }
 
-OCStackApplicationResult SubscribeProvPresenceCallback(void* ctx, OCDoHandle handle,
-        OCClientResponse* clientResponse)
-{
+OCStackApplicationResult SubscribeProvPresenceCallback(void *ctx, OCDoHandle handle,
+                                                       OCClientResponse *clientResponse) {
     OIC_LOG(INFO, TAG, PCF("Entering SubscribeProvPresenceCallback"));
 
     OCStackApplicationResult response = OC_STACK_DELETE_TRANSACTION;
 
-    if (clientResponse->result != OC_STACK_OK)
-    {
+    if (clientResponse->result != OC_STACK_OK) {
         OIC_LOG(ERROR, TAG, "OCStack stop error");
         return response;
     }
 
-    if (clientResponse)
-    {
+    if (clientResponse) {
         OIC_LOG(INFO, TAG, PCF("Client Response exists"));
 
-        if (clientResponse->payload && clientResponse->payload->type != PAYLOAD_TYPE_REPRESENTATION)
-        {
+        if (clientResponse->payload &&
+            clientResponse->payload->type != PAYLOAD_TYPE_REPRESENTATION) {
             OIC_LOG_V(DEBUG, TAG, "Incoming payload not a representation");
             return response;
         }
 
-        OCRepPayload* discoveryPayload = (OCRepPayload*) (clientResponse->payload);
-        if (!discoveryPayload)
-        {
+        OCRepPayload *discoveryPayload = (OCRepPayload * )(clientResponse->payload);
+        if (!discoveryPayload) {
             OIC_LOG_V(DEBUG, TAG, "invalid payload");
             return response;
         }
 
         char sourceIPAddr[OIC_STRING_MAX_VALUE] =
-        { '\0' };
+                {'\0'};
         snprintf(sourceIPAddr, sizeof(sourceIPAddr), "%s", clientResponse->addr->addr);
 
         OIC_LOG_V(DEBUG, TAG, "Discovered %s @ %s", discoveryPayload->uri, sourceIPAddr);
 
         /* Start a discovery query*/
         char szQueryUri[64] =
-        { 0 };
+                {0};
 
         snprintf(szQueryUri, sizeof(szQueryUri), UNICAST_PROVISIONING_QUERY, sourceIPAddr, IP_PORT);
 
@@ -518,62 +452,54 @@ OCStackApplicationResult SubscribeProvPresenceCallback(void* ctx, OCDoHandle han
          return OC_STACK_KEEP_TRANSACTION;
          }*/
     }
-    else
-    {
+    else {
         // clientResponse is invalid
         OIC_LOG(ERROR, TAG, PCF("Client Response is NULL!"));
     }
     return OC_STACK_KEEP_TRANSACTION;
 }
 
-OCStackResult SubscribeProvPresence(OCQualityOfService qos, const char* requestURI)
-{
+OCStackResult SubscribeProvPresence(OCQualityOfService qos, const char *requestURI) {
     OCStackResult ret = OC_STACK_ERROR;
 
     OCCallbackData cbData;
 
     cbData.cb = &SubscribeProvPresenceCallback;
-    cbData.context = (void*) DEFAULT_CONTEXT_VALUE;
+    cbData.context = (void *) DEFAULT_CONTEXT_VALUE;
     cbData.cd = NULL;
 
     ret = OCDoResource(NULL, OC_REST_PRESENCE, requestURI, 0, 0, OC_CONNTYPE, OC_LOW_QOS, &cbData,
-            NULL, 0);
+                       NULL, 0);
 
-    if (ret != OC_STACK_OK)
-    {
+    if (ret != OC_STACK_OK) {
         OIC_LOG(ERROR, TAG, "OCStack resource error");
     }
 
     return ret;
 }
 
-OCStackResult FindNetworkResource()
-{
+OCStackResult FindNetworkResource() {
     OCStackResult ret = OC_STACK_ERROR;
-    if (OCStop() != OC_STACK_OK)
-    {
+    if (OCStop() != OC_STACK_OK) {
         OIC_LOG(ERROR, TAG, "OCStack stop error");
     }
 
     return ret;
 }
 
-ProvisioningInfo* PrepareProvisioingStatusCB(OCClientResponse * clientResponse,
-        ProvStatus provStatus)
-{
+ProvisioningInfo *PrepareProvisioingStatusCB(OCClientResponse *clientResponse,
+                                             ProvStatus provStatus) {
 
     ProvisioningInfo *provInfo = (ProvisioningInfo *) OICCalloc(1, sizeof(ProvisioningInfo));
 
-    if (provInfo == NULL)
-    {
+    if (provInfo == NULL) {
         OIC_LOG_V(ERROR, TAG, "Failed to allocate memory");
         return NULL;
     }
 
     OCDevAddr *devAddr = (OCDevAddr *) OICCalloc(1, sizeof(OCDevAddr));
 
-    if (devAddr == NULL)
-    {
+    if (devAddr == NULL) {
         OIC_LOG_V(ERROR, TAG, "Failed to allocate memory");
         return NULL;
     }
@@ -589,17 +515,14 @@ ProvisioningInfo* PrepareProvisioingStatusCB(OCClientResponse * clientResponse,
 }
 
 bool ValidateEasySetupParams(const EnrolleeNWProvInfo_t *netInfo,
-        OCProvisioningStatusCB provisioningStatusCallback)
-{
+                             OCProvisioningStatusCB provisioningStatusCallback) {
 
-    if (netInfo == NULL || strlen(netInfo->netAddressInfo.WIFI.ipAddress) == 0)
-    {
+    if (netInfo == NULL || strlen(netInfo->netAddressInfo.WIFI.ipAddress) == 0) {
         OIC_LOG(ERROR, TAG, "Request URI is NULL");
         return false;
     }
 
-    if (provisioningStatusCallback == NULL)
-    {
+    if (provisioningStatusCallback == NULL) {
         OIC_LOG(ERROR, TAG, "ProvisioningStatusCallback is NULL");
         return false;
     }
@@ -608,12 +531,10 @@ bool ValidateEasySetupParams(const EnrolleeNWProvInfo_t *netInfo,
 
 }
 
-bool InProgress()
-{
+bool InProgress() {
 
     // It means already Easy Setup provisioning session is going on.
-    if (NULL != cbData)
-    {
+    if (NULL != cbData) {
         OIC_LOG(ERROR, TAG, "Easy setup session is already in progress");
         return true;
     }
@@ -621,45 +542,35 @@ bool InProgress()
     return false;
 }
 
-bool SetProgress(OCProvisioningStatusCB provisioningStatusCallback)
-{
-    ca_mutex_lock(g_provisioningMutex);
+bool SetProgress(OCProvisioningStatusCB provisioningStatusCallback) {
 
     if (InProgress())
         return false;
 
     cbData = provisioningStatusCallback;
 
-    ca_mutex_unlock(g_provisioningMutex);
 
     return true;
 }
 
-bool ResetProgress()
-{
-    ca_mutex_lock(g_provisioningMutex);
+bool ResetProgress() {
 
     cbData = NULL;
-
-    ca_mutex_unlock(g_provisioningMutex);
-       return true;
+    return true;
 }
 
-ProvisioningInfo* CreateCallBackObject()
-{
+ProvisioningInfo *CreateCallBackObject() {
 
     ProvisioningInfo *provInfo = (ProvisioningInfo *) OICCalloc(1, sizeof(ProvisioningInfo));
 
-    if (provInfo == NULL)
-    {
+    if (provInfo == NULL) {
         OIC_LOG_V(ERROR, TAG, "Failed to allocate memory");
         return NULL;
     }
 
     OCDevAddr *devAddr = (OCDevAddr *) OICCalloc(1, sizeof(OCDevAddr));
 
-    if (devAddr == NULL)
-    {
+    if (devAddr == NULL) {
         OIC_LOG_V(ERROR, TAG, "Failed to allocate memory");
         return NULL;
     }
@@ -670,8 +581,7 @@ ProvisioningInfo* CreateCallBackObject()
 
 }
 
-ProvisioningInfo* GetCallbackObjectOnError(ProvStatus status)
-{
+ProvisioningInfo *GetCallbackObjectOnError(ProvStatus status) {
 
     ProvisioningInfo *provInfo = CreateCallBackObject();
     strncpy(provInfo->provDeviceInfo.addr->addr, netProvInfo->netAddressInfo.WIFI.ipAddress,
@@ -681,9 +591,8 @@ ProvisioningInfo* GetCallbackObjectOnError(ProvStatus status)
     return provInfo;
 }
 
-ProvisioningInfo* GetCallbackObjectOnSuccess(OCClientResponse * clientResponse,
-        ProvStatus provStatus)
-{
+ProvisioningInfo *GetCallbackObjectOnSuccess(OCClientResponse *clientResponse,
+                                             ProvStatus provStatus) {
     ProvisioningInfo *provInfo = CreateCallBackObject();
     strncpy(provInfo->provDeviceInfo.addr->addr, clientResponse->addr->addr,
             sizeof(provInfo->provDeviceInfo.addr->addr));
@@ -692,25 +601,21 @@ ProvisioningInfo* GetCallbackObjectOnSuccess(OCClientResponse * clientResponse,
     return provInfo;
 }
 
-bool ValidateFinddResourceResponse(OCClientResponse * clientResponse)
-{
+bool ValidateFinddResourceResponse(OCClientResponse * clientResponse) {
 
-    if (!(clientResponse) || !(clientResponse->payload))
-    {
+    if (!(clientResponse) || !(clientResponse->payload)) {
 
         OIC_LOG_V(INFO, TAG, "ProvisionEnrolleeResponse received Null clientResponse");
 
         return false;
 
     }
-return true;
+    return true;
 }
 
-bool ValidateEnrolleResponse(OCClientResponse * clientResponse)
-{
+bool ValidateEnrolleResponse(OCClientResponse * clientResponse) {
 
-    if (!(clientResponse) || !(clientResponse->payload))
-    {
+    if (!(clientResponse) || !(clientResponse->payload)) {
 
         OIC_LOG_V(INFO, TAG, "ProvisionEnrolleeResponse received Null clientResponse");
 
@@ -718,8 +623,7 @@ bool ValidateEnrolleResponse(OCClientResponse * clientResponse)
 
     }
 
-    if (clientResponse->payload->type != PAYLOAD_TYPE_REPRESENTATION)
-    {
+    if (clientResponse->payload->type != PAYLOAD_TYPE_REPRESENTATION) {
 
         OIC_LOG_V(DEBUG, TAG, "Incoming payload not a representation");
         return false;
@@ -732,34 +636,25 @@ bool ValidateEnrolleResponse(OCClientResponse * clientResponse)
 }
 
 
-void SuccessCallback(OCClientResponse * clientResponse)
-{
+void SuccessCallback(OCClientResponse * clientResponse) {
     ProvisioningInfo *provInfo = GetCallbackObjectOnSuccess(clientResponse, DEVICE_PROVISIONED);
     cbData(provInfo);
     ResetProgress();
 }
 
-bool ClearMemory()
-{
+bool ClearMemory() {
 
     OIC_LOG(DEBUG, TAG, "thread_pool_add_task of FindProvisioningResource failed");
-    ca_thread_pool_free(g_threadPoolHandle);
-    ca_mutex_unlock(g_provisioningMutex);
-    ca_mutex_free(g_provisioningMutex);
-    ca_cond_free(g_provisioningCond);
-
     return true;
 
 }
 
-bool ConfigEnrolleeObject(const EnrolleeNWProvInfo_t *netInfo)
-{
+bool ConfigEnrolleeObject(const EnrolleeNWProvInfo_t *netInfo) {
 
     //Copy Network Provisioning  Information
     netProvInfo = (EnrolleeNWProvInfo_t *) OICCalloc(1, sizeof(EnrolleeNWProvInfo_t));
 
-    if (netProvInfo == NULL)
-    {
+    if (netProvInfo == NULL) {
         OIC_LOG(ERROR, TAG, "Invalid input..");
         return false;
     }
@@ -767,20 +662,18 @@ bool ConfigEnrolleeObject(const EnrolleeNWProvInfo_t *netInfo)
     memcpy(netProvInfo, netInfo, sizeof(EnrolleeNWProvInfo_t));
 
     OIC_LOG_V(DEBUG, TAG, "Network Provisioning Info. SSID = %s",
-            netProvInfo->netAddressInfo.WIFI.ssid);
+              netProvInfo->netAddressInfo.WIFI.ssid);
 
     OIC_LOG_V(DEBUG, TAG, "Network Provisioning Info. PWD = %s",
-            netProvInfo->netAddressInfo.WIFI.pwd);
+              netProvInfo->netAddressInfo.WIFI.pwd);
 
     return true;
 
 }
 
-void LogProvisioningResponse(OCRepPayloadValue* val)
-{
+void LogProvisioningResponse(OCRepPayloadValue * val) {
 
-    switch (val->type)
-    {
+    switch (val->type) {
         case OCREP_PROP_NULL:
             OIC_LOG_V(DEBUG, TAG, "\t\t%s: NULL", val->name);
             break;
@@ -802,27 +695,31 @@ void LogProvisioningResponse(OCRepPayloadValue* val)
             OIC_LOG_V(DEBUG, TAG, "\t\t%s(OCRep):%s", val->name, val->obj->uri);
             break;
         case OCREP_PROP_ARRAY:
-            switch (val->arr.type)
-            {
+            switch (val->arr.type) {
                 case OCREP_PROP_INT:
                     OIC_LOG_V(DEBUG, TAG, "\t\t%s(int array):%lld x %lld x %lld", val->name,
-                            val->arr.dimensions[0], val->arr.dimensions[1], val->arr.dimensions[2]);
+                              val->arr.dimensions[0], val->arr.dimensions[1],
+                              val->arr.dimensions[2]);
                     break;
                 case OCREP_PROP_DOUBLE:
                     OIC_LOG_V(DEBUG, TAG, "\t\t%s(double array):%lld x %lld x %lld", val->name,
-                            val->arr.dimensions[0], val->arr.dimensions[1], val->arr.dimensions[2]);
+                              val->arr.dimensions[0], val->arr.dimensions[1],
+                              val->arr.dimensions[2]);
                     break;
                 case OCREP_PROP_BOOL:
                     OIC_LOG_V(DEBUG, TAG, "\t\t%s(bool array):%lld x %lld x %lld", val->name,
-                            val->arr.dimensions[0], val->arr.dimensions[1], val->arr.dimensions[2]);
+                              val->arr.dimensions[0], val->arr.dimensions[1],
+                              val->arr.dimensions[2]);
                     break;
                 case OCREP_PROP_STRING:
                     OIC_LOG_V(DEBUG, TAG, "\t\t%s(string array):%lld x %lld x %lld", val->name,
-                            val->arr.dimensions[0], val->arr.dimensions[1], val->arr.dimensions[2]);
+                              val->arr.dimensions[0], val->arr.dimensions[1],
+                              val->arr.dimensions[2]);
                     break;
                 case OCREP_PROP_OBJECT:
                     OIC_LOG_V(DEBUG, TAG, "\t\t%s(OCRep array):%lld x %lld x %lld", val->name,
-                            val->arr.dimensions[0], val->arr.dimensions[1], val->arr.dimensions[2]);
+                              val->arr.dimensions[0], val->arr.dimensions[1],
+                              val->arr.dimensions[2]);
                     break;
                 default:
                     //OIC_LOG_V(ERROR, TAG, "\t\t%s <-- Unknown/unsupported array type!",