replace : iotivity -> iotivity-sec
[platform/upstream/iotivity.git] / service / easy-setup / sampleapp / enrollee / linux / enrolleewifi.c
index 792fe68..ccc096a 100755 (executable)
 #define TAG "ENROLLEE_SAMPLE"
 
 void *listeningFunc(void *);
+pthread_t thread_handle = NULL;
 
 /**
  * Secure Virtual Resource database for Iotivity Server
  * It contains Server's Identity and the PSK credentials
  * of other devices which the server trusts
  */
+#ifdef MULTIPLE_OWNER
+static char CRED_FILE[] = "oic_svr_db_server_MOT.dat";
+#else
 static char CRED_FILE[] = "oic_svr_db_server.dat";
+#endif
 
 OCPersistentStorage ps;
 
@@ -62,13 +67,31 @@ void PrintMenu()
     printf("============\n");
 }
 
-void WiFiProvCbInApp(ESWiFiProvData *eventData)
+void ConnectRequestCbInApp(ESConnectRequest *connectRequest)
 {
-    printf("WiFiProvCbInApp IN\n");
+    printf("ConnectRequestCbInApp IN\n");
+
+    if(connectRequest == NULL)
+    {
+        printf("connectRequest is NULL\n");
+        return ;
+    }
+
+    for(int i = 0 ; i < connectRequest->numRequest ; ++i)
+    {
+        printf("connect : %d\n", connectRequest->connect[i]);
+    }
+
+    printf("ConnectRequestCbInApp OUT\n");
+}
+
+void WiFiConfProvCbInApp(ESWiFiConfData *eventData)
+{
+    printf("WiFiConfProvCbInApp IN\n");
 
     if(eventData == NULL)
     {
-        printf("ESWiFiProvData is NULL\n");
+        printf("ESWiFiConfData is NULL\n");
         return ;
     }
 
@@ -82,46 +105,46 @@ void WiFiProvCbInApp(ESWiFiProvData *eventData)
         printf("userValue : %d\n", ((UserProperties *)(eventData->userdata))->userValue_int);
     }
 
-    printf("WiFiProvCbInApp OUT\n");
+    printf("WiFiConfProvCbInApp OUT\n");
 }
 
-void DevConfProvCbInApp(ESDevConfProvData *eventData)
+void DevConfProvCbInApp(ESDevConfData *eventData)
 {
     printf("DevConfProvCbInApp IN\n");
 
     if(eventData == NULL)
     {
-        printf("ESDevConfProvData is NULL\n");
+        printf("ESDevConfData is NULL\n");
         return ;
     }
 
-    printf("Language : %s\n", eventData->language);
-    printf("Country : %s\n", eventData->country);
-
     printf("DevConfProvCbInApp OUT\n");
 }
 
-void CloudDataProvCbInApp(ESCloudProvData *eventData)
+void CoapCloudConfProvCbInApp(ESCoapCloudConfData *eventData)
 {
-    printf("CloudDataProvCbInApp IN\n");
+    printf("CoapCloudConfProvCbInApp IN\n");
 
     if(eventData == NULL)
     {
-        printf("ESCloudProvData is NULL\n");
+        printf("ESCoapCloudConfData is NULL\n");
         return ;
     }
 
     printf("AuthCode : %s\n", eventData->authCode);
+    printf("AcessToken : %s\n", eventData->accessToken);
+    printf("AcessTokenType : %d\n", eventData->accessTokenType);
     printf("AuthProvider : %s\n", eventData->authProvider);
     printf("CI Server : %s\n", eventData->ciServer);
 
-    printf("CloudDataProvCbInApp OUT\n");
+    printf("CoapCloudConfProvCbInApp OUT\n");
 }
 
 ESProvisioningCallbacks gCallbacks = {
-    .WiFiProvCb = &WiFiProvCbInApp,
+    .ConnectRequestCb = &ConnectRequestCbInApp,
+    .WiFiConfProvCb = &WiFiConfProvCbInApp,
     .DevConfProvCb = &DevConfProvCbInApp,
-    .CloudDataProvCb = &CloudDataProvCbInApp
+    .CoapCloudConfProvCb = &CoapCloudConfProvCbInApp
 };
 
 FILE* server_fopen(const char *path, const char *mode)
@@ -151,7 +174,7 @@ void StartEasySetup()
         return;
     }
 
-    ESResourceMask resourcemMask = ES_WIFI_RESOURCE | ES_CLOUD_RESOURCE | ES_DEVCONF_RESOURCE;
+    ESResourceMask resourcemMask = ES_WIFICONF_RESOURCE | ES_COAPCLOUDCONF_RESOURCE | ES_DEVCONF_RESOURCE;
     if(ESInitEnrollee(gIsSecured, resourcemMask, gCallbacks) != ES_OK)
     {
         printf("OCStack init error!!\n");
@@ -159,7 +182,6 @@ void StartEasySetup()
     }
     printf("ESInitEnrollee Success\n");
 
-    pthread_t thread_handle = NULL;
     if (pthread_create(&thread_handle, NULL, listeningFunc, NULL))
     {
         printf("Thread creation failed\n");
@@ -179,7 +201,8 @@ void SetDeviceInfo()
     // Set user properties if needed
     char userValue_str[] = "user_str";
     g_userProperties.userValue_int = 0;
-    strcpy(g_userProperties.userValue_str, userValue_str);
+
+    strncpy(g_userProperties.userValue_str, userValue_str, strlen(userValue_str) + 1);
     SetUserProperties(&g_userProperties);
 
     if(ESSetDeviceProperty(&deviceProperty) == ES_ERROR)
@@ -200,6 +223,12 @@ void StopEasySetup()
         return;
     }
 
+    if (0 != pthread_cancel(thread_handle))
+    {
+        printf("Thread cancellation failed\n");
+        return;
+    }
+
     //stop OC Stack
     if (OCStop() != OC_STACK_OK)
     {
@@ -221,7 +250,7 @@ int main()
     printf("EasySetup Enrollee SAMPLE\n");
     printf("#########################\n");
     PrintMenu();
-    char option;
+    char option = '\0';
 
     while(true)
     {
@@ -278,7 +307,10 @@ int main()
                     PrintMenu();
                     break;
             }
-            if (option == 'Q' || option == 'q') { break; }
+            if (option == 'Q' || option == 'q')
+            {
+                break;
+            }
         }
     }
     return 0;