Integrated NetworkConfigurator Multi/SighleThread in CA
authorjihwan.seo <jihwan.seo@samsung.com>
Mon, 13 Apr 2015 06:34:45 +0000 (15:34 +0900)
committerErich Keane <erich.keane@intel.com>
Tue, 14 Apr 2015 18:03:11 +0000 (18:03 +0000)
Integrated NetworkConfigurator file since
there are many common code
between MultiThread and SingleThread file.

Change-Id: Ibf765df284ba250cec1f9d842d785d63fff4978e
Signed-off-by: jihwan.seo <jihwan.seo@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/697
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: Erich Keane <erich.keane@intel.com>
resource/csdk/connectivity/src/SConscript
resource/csdk/connectivity/src/canetworkconfigurator.c
resource/csdk/connectivity/src/canetworkconfigurator_singlethread.c [deleted file]

index 4340ea2..04e57de 100644 (file)
@@ -55,7 +55,7 @@ if ca_os == 'arduino':
                ca_path + 'caconnectivitymanager_singlethread.c',
                ca_path + 'cainterfacecontroller_singlethread.c',
                ca_path + 'camessagehandler_singlethread.c',
-               ca_path + 'canetworkconfigurator_singlethread.c',
+               ca_path + 'canetworkconfigurator.c',
                ca_path + 'caprotocolmessage.c',
                ca_path + 'caremotehandler.c',
                ca_path + 'caretransmission_singlethread.c',
index 191a27b..513969a 100644 (file)
 #include <stdlib.h>
 
 #include "canetworkconfigurator.h"
+#include "cainterfacecontroller_singlethread.h"
 #include "uarraylist.h"
 #include "logger.h"
-#include "cainterfacecontroller.h"
 
-#define TAG PCF("CA")
+#define TAG "CANW"
 
 static u_arraylist_t *g_selectedNetworkList = NULL;
 static uint32_t NETWORK_ETHERNET = CA_ETHERNET;
@@ -33,21 +33,20 @@ static uint32_t NETWORK_WIFI = CA_WIFI;
 static uint32_t NETWORK_EDR = CA_EDR;
 static uint32_t NETWORK_LE = CA_LE;
 
-
 CAResult_t CAAddNetworkType(CAConnectivityType_t connectivityType)
 {
-    if (g_selectedNetworkList == NULL)
+    OIC_LOG(DEBUG, TAG, "IN");
+    if (NULL == g_selectedNetworkList)
     {
         OIC_LOG(DEBUG, TAG, "Create network list");
 
         g_selectedNetworkList = u_arraylist_create();
 
-        if( g_selectedNetworkList == NULL )
+        if (NULL == g_selectedNetworkList)
         {
             return CA_MEMORY_ALLOC_FAILED;
         }
     }
-
     CAResult_t res = CA_STATUS_OK;
     switch (connectivityType)
     {
@@ -60,10 +59,11 @@ CAResult_t CAAddNetworkType(CAConnectivityType_t connectivityType)
 #endif /* ETHERNET_ADAPTER */
 
             OIC_LOG(DEBUG, TAG, "Add network type(ETHERNET)");
-            if (!u_arraylist_contains(g_selectedNetworkList, &NETWORK_ETHERNET))
+            if (u_arraylist_contains(g_selectedNetworkList, &NETWORK_ETHERNET))
             {
-                res = u_arraylist_add(g_selectedNetworkList, &NETWORK_ETHERNET);
+                goto exit;
             }
+            res = u_arraylist_add(g_selectedNetworkList, &NETWORK_ETHERNET);
         }
         break;
 
@@ -76,10 +76,11 @@ CAResult_t CAAddNetworkType(CAConnectivityType_t connectivityType)
 #endif /* WIFI_ADAPTER */
 
             OIC_LOG(DEBUG, TAG, "Add network type(WIFI)");
-            if (!u_arraylist_contains(g_selectedNetworkList, &NETWORK_WIFI))
+            if (u_arraylist_contains(g_selectedNetworkList, &NETWORK_WIFI))
             {
-                res = u_arraylist_add(g_selectedNetworkList, &NETWORK_WIFI);
+                goto exit;
             }
+            res = u_arraylist_add(g_selectedNetworkList, &NETWORK_WIFI);
         }
         break;
 
@@ -92,10 +93,11 @@ CAResult_t CAAddNetworkType(CAConnectivityType_t connectivityType)
 #endif /* EDR_ADAPTER */
 
             OIC_LOG(DEBUG, TAG, "Add network type(EDR)");
-            if (!u_arraylist_contains(g_selectedNetworkList, &NETWORK_EDR))
+            if (u_arraylist_contains(g_selectedNetworkList, &NETWORK_EDR))
             {
-                res = u_arraylist_add(g_selectedNetworkList, &NETWORK_EDR);
+                goto exit;
             }
+            res = u_arraylist_add(g_selectedNetworkList, &NETWORK_EDR);
         }
         break;
 
@@ -108,10 +110,11 @@ CAResult_t CAAddNetworkType(CAConnectivityType_t connectivityType)
 #endif /* LE_ADAPTER */
 
             OIC_LOG(DEBUG, TAG, "Add network type(LE)");
-            if (!u_arraylist_contains(g_selectedNetworkList, &NETWORK_LE))
+            if (u_arraylist_contains(g_selectedNetworkList, &NETWORK_LE))
             {
-                res = u_arraylist_add(g_selectedNetworkList, &NETWORK_LE);
+                goto exit;
             }
+            res = u_arraylist_add(g_selectedNetworkList, &NETWORK_LE);
         }
         break;
 
@@ -122,34 +125,39 @@ CAResult_t CAAddNetworkType(CAConnectivityType_t connectivityType)
         OIC_LOG_V(ERROR, TAG, "Add arraylist failed[Err code: %d]", res);
         return res;
     }
+
     // start selected interface adapter
     res = CAStartAdapter((CAConnectivityType_t)connectivityType);
-
+    OIC_LOG(DEBUG, TAG, "OUT");
     return res;
+
+exit:
+    OIC_LOG(DEBUG, TAG, "This adapter is already enabled");
+    return CA_STATUS_OK;
 }
 
 CAResult_t CARemoveNetworkType(CAConnectivityType_t connectivityType)
 {
-    uint8_t index;
-    CAConnectivityType_t connType;
+    OIC_LOG(DEBUG, TAG, "IN");
 
-    if (g_selectedNetworkList == NULL)
+    if (NULL == g_selectedNetworkList)
     {
-        OIC_LOG(DEBUG, TAG, "SelectedNetwork list is NULL");
+        OIC_LOG(ERROR, TAG, "SelectedNetwork list is NULL");
 
         return CA_STATUS_FAILED;
     }
 
-    for (index = 0; index < u_arraylist_length(g_selectedNetworkList); index++)
+    uint32_t selectedNetworkLength = u_arraylist_length(g_selectedNetworkList);
+    uint32_t index;
+    for (index = 0; index < selectedNetworkLength; index++)
     {
         void* ptrType = u_arraylist_get(g_selectedNetworkList, index);
-
-        if(ptrType == NULL)
+        if (NULL == ptrType)
         {
             continue;
         }
 
-        connType = *(CAConnectivityType_t *) ptrType;
+        CAConnectivityType_t connType = *(CAConnectivityType_t *) ptrType;
 
         if (connectivityType == connType)
         {
@@ -215,13 +223,6 @@ CAResult_t CARemoveNetworkType(CAConnectivityType_t connectivityType)
 
 u_arraylist_t *CAGetSelectedNetworkList()
 {
-    OIC_LOG(DEBUG, TAG, "CAGetSelectedNetworkList IN");
-    if (g_selectedNetworkList == NULL)
-    {
-        OIC_LOG(DEBUG, TAG, "SelectedNetwork list is NULL");
-        return NULL;
-    }
-    OIC_LOG(DEBUG, TAG, "CAGetSelectedNetworkList OUT");
     return g_selectedNetworkList;
 }
 
@@ -229,9 +230,9 @@ CAResult_t CAGetNetworkInformationInternal(CALocalConnectivity_t **info, uint32_
 {
     OIC_LOG(DEBUG, TAG, "get network information.");
 
-    if (info == NULL || size == NULL)
+    if (NULL == info || NULL == size)
     {
-        OIC_LOG(DEBUG, TAG, "Input parameter is invalid value");
+        OIC_LOG(ERROR, TAG, "Input parameter is invalid value");
 
         return CA_STATUS_INVALID_PARAM;
     }
@@ -242,12 +243,9 @@ CAResult_t CAGetNetworkInformationInternal(CALocalConnectivity_t **info, uint32_
 CAResult_t CATerminateNetworkType()
 {
     OIC_LOG(DEBUG, TAG, "CATerminateNetworkType()");
-
-    if(g_selectedNetworkList != NULL)
+    if (NULL != g_selectedNetworkList)
     {
         u_arraylist_free(&g_selectedNetworkList);
     }
-
     return CA_STATUS_OK;
 }
-
diff --git a/resource/csdk/connectivity/src/canetworkconfigurator_singlethread.c b/resource/csdk/connectivity/src/canetworkconfigurator_singlethread.c
deleted file mode 100644 (file)
index c63aa60..0000000
+++ /dev/null
@@ -1,255 +0,0 @@
-/******************************************************************
- *
- * Copyright 2014 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 "cainterfacecontroller_singlethread.h"
-
-#include <stdlib.h>
-
-#include "canetworkconfigurator.h"
-#include "uarraylist.h"
-#include "logger.h"
-
-#define TAG "CANW_ST"
-
-static u_arraylist_t *g_selectedNetworkList = NULL;
-static uint32_t NETWORK_ETHERNET = CA_ETHERNET;
-static uint32_t NETWORK_WIFI = CA_WIFI;
-static uint32_t NETWORK_EDR = CA_EDR;
-static uint32_t NETWORK_LE = CA_LE;
-
-CAResult_t CAAddNetworkType(CAConnectivityType_t connectivityType)
-{
-    OIC_LOG(DEBUG, TAG, "IN");
-    if (g_selectedNetworkList == NULL)
-    {
-        g_selectedNetworkList = u_arraylist_create();
-
-        if (NULL == g_selectedNetworkList)
-        {
-            return CA_MEMORY_ALLOC_FAILED;
-        }
-    }
-    CAResult_t res = CA_STATUS_OK;
-    switch (connectivityType)
-    {
-        case CA_ETHERNET:
-        {
-
-#ifndef ETHERNET_ADAPTER
-            OIC_LOG(DEBUG, TAG, "Add network type(ETHERNET) - Not Supported");
-            return CA_NOT_SUPPORTED;
-#endif /* ETHERNET_ADAPTER */
-
-            OIC_LOG(DEBUG, TAG, "Add network type(ETHERNET)");
-            if (!u_arraylist_contains(g_selectedNetworkList, &NETWORK_ETHERNET))
-            {
-                res = u_arraylist_add(g_selectedNetworkList, &NETWORK_ETHERNET);
-                if (CA_STATUS_OK != res)
-                {
-                    OIC_LOG_V(ERROR, TAG, "Add arraylist failed[Err code: %d]", res);
-                    return res;
-                }
-            }
-        }
-        break;
-
-        case CA_WIFI:
-        {
-
-#ifndef WIFI_ADAPTER
-            OIC_LOG(DEBUG, TAG, "Add network type(WIFI) - Not Supported");
-            return CA_NOT_SUPPORTED;
-#endif /* WIFI_ADAPTER */
-
-            OIC_LOG(DEBUG, TAG, "Add network type(WIFI)");
-            if (!u_arraylist_contains(g_selectedNetworkList, &NETWORK_WIFI))
-            {
-                res = u_arraylist_add(g_selectedNetworkList, &NETWORK_WIFI);
-                if (CA_STATUS_OK != res)
-                {
-                    OIC_LOG_V(ERROR, TAG, "Add arraylist failed[Err code: %d]", res);
-                    return res;
-                }
-            }
-        }
-        break;
-
-        case CA_EDR:
-        {
-
-#ifndef EDR_ADAPTER
-            OIC_LOG(DEBUG, TAG, "Add network type(EDR) - Not Supported");
-            return CA_NOT_SUPPORTED;
-#endif /* EDR_ADAPTER */
-
-            OIC_LOG(DEBUG, TAG, "Add network type(EDR)");
-            if (!u_arraylist_contains(g_selectedNetworkList, &NETWORK_EDR))
-            {
-                res = u_arraylist_add(g_selectedNetworkList, &NETWORK_EDR);
-                if (CA_STATUS_OK != res)
-                {
-                    OIC_LOG_V(ERROR, TAG, "Add arraylist failed[Err code: %d]", res);
-                    return res;
-                }
-            }
-        }
-        break;
-
-        case CA_LE:
-        {
-
-#ifndef LE_ADAPTER
-            OIC_LOG(DEBUG, TAG, "Add network type(LE) - Not Supported");
-            return CA_NOT_SUPPORTED;
-#endif /* LE_ADAPTER */
-
-            OIC_LOG(DEBUG, TAG, "Add network type(LE)");
-            if (!u_arraylist_contains(g_selectedNetworkList, &NETWORK_LE))
-            {
-                res = u_arraylist_add(g_selectedNetworkList, &NETWORK_LE);
-                if (CA_STATUS_OK != res)
-                {
-                    OIC_LOG_V(ERROR, TAG, "Add arraylist failed[Err code: %d]", res);
-                    return res;
-                }
-            }
-        }
-        break;
-
-    }
-
-    // start selected interface adapter
-    res = CAStartAdapter((CAConnectivityType_t)connectivityType);
-    OIC_LOG(DEBUG, TAG, "OUT");
-    return res;
-}
-
-CAResult_t CARemoveNetworkType(CAConnectivityType_t connectivityType)
-{
-    OIC_LOG(DEBUG, TAG, "IN");
-
-    if (g_selectedNetworkList == NULL)
-    {
-        OIC_LOG(DEBUG, TAG, "Selected network not found");
-
-        return CA_STATUS_FAILED;
-    }
-
-    uint8_t index;
-    for (index = 0; index < u_arraylist_length(g_selectedNetworkList); index++)
-    {
-        void* ptrType = u_arraylist_get(g_selectedNetworkList, index);
-        if (NULL == ptrType)
-        {
-            continue;
-        }
-
-        CAConnectivityType_t connType = *(CAConnectivityType_t *) ptrType;
-
-        if (connectivityType == connType)
-        {
-            switch (connectivityType)
-            {
-                case CA_ETHERNET:
-
-#ifndef ETHERNET_ADAPTER
-                    OIC_LOG(DEBUG, TAG, "Remove network type(ETHERNET) - Not Supported");
-                    return CA_NOT_SUPPORTED;
-#else
-
-                    OIC_LOG(DEBUG, TAG, "Remove network type(ETHERNET)");
-                    u_arraylist_remove(g_selectedNetworkList, index);
-#endif /* ETHERNET_ADAPTER */
-                    break;
-
-                case CA_WIFI:
-
-#ifndef WIFI_ADAPTER
-                    OIC_LOG(DEBUG, TAG, "Remove network type(WIFI) - Not Supported");
-                    return CA_NOT_SUPPORTED;
-#else
-                    OIC_LOG(DEBUG, TAG, "Remove network type(WIFI)");
-                    u_arraylist_remove(g_selectedNetworkList, index);
-#endif /* WIFI_ADAPTER */
-
-                    break;
-
-                case CA_EDR:
-
-#ifndef EDR_ADAPTER
-                    OIC_LOG(DEBUG, TAG, "Remove network type(EDR) - Not Supported");
-                    return CA_NOT_SUPPORTED;
-#else
-                    OIC_LOG(DEBUG, TAG, "Remove network type(EDR)");
-                    u_arraylist_remove(g_selectedNetworkList, index);
-#endif /* EDR_ADAPTER */
-
-                    break;
-
-                case CA_LE:
-
-#ifndef LE_ADAPTER
-                    OIC_LOG(DEBUG, TAG, "Remove network type(LE) - Not Supported");
-                    return CA_NOT_SUPPORTED;
-#else
-                    OIC_LOG(DEBUG, TAG, "Remove network type(LE)");
-                    u_arraylist_remove(g_selectedNetworkList, index);
-#endif /* LE_ADAPTER */
-
-                    break;
-            }
-
-            // stop selected interface adapter
-            CAStopAdapter(connType);
-        }
-    }
-
-    return CA_STATUS_OK;
-}
-
-u_arraylist_t *CAGetSelectedNetworkList()
-{
-    return g_selectedNetworkList;
-}
-
-CAResult_t CAGetNetworkInformationInternal(CALocalConnectivity_t **info, uint32_t *size)
-{
-    OIC_LOG(DEBUG, TAG, "get network information.");
-
-    if (info == NULL || size == NULL)
-    {
-        OIC_LOG(DEBUG, TAG, "Input parameter is invalid value");
-
-        return CA_STATUS_INVALID_PARAM;
-    }
-
-    return CAGetNetworkInfo(info, size);
-}
-
-CAResult_t CATerminateNetworkType()
-{
-    OIC_LOG(DEBUG, TAG, "CATerminateNetworkType()");
-    if(g_selectedNetworkList != NULL)
-    {
-        u_arraylist_free(&g_selectedNetworkList);
-    }
-    return CA_STATUS_OK;
-}
-