Imported Upstream version 1.0.0
[platform/upstream/iotivity.git] / resource / csdk / connectivity / src / canetworkconfigurator.c
index 01e9d4d..d1d1e5c 100644 (file)
@@ -36,6 +36,10 @@ static uint32_t NETWORK_GATT = CA_ADAPTER_GATT_BTLE;
 static uint32_t NETWORK_RA = CA_ADAPTER_REMOTE_ACCESS;
 #endif
 
+#ifdef TCP_ADAPTER
+static uint32_t NETWORK_TCP = CA_ADAPTER_TCP;
+#endif
+
 CAResult_t CAAddNetworkType(CATransportAdapter_t transportType)
 {
     OIC_LOG(DEBUG, TAG, "IN");
@@ -50,7 +54,7 @@ CAResult_t CAAddNetworkType(CATransportAdapter_t transportType)
             return CA_MEMORY_ALLOC_FAILED;
         }
     }
-    CAResult_t res = CA_STATUS_OK;
+    bool res = true;
     switch (transportType)
     {
         case CA_ADAPTER_IP:
@@ -107,19 +111,31 @@ CAResult_t CAAddNetworkType(CATransportAdapter_t transportType)
            break;
 #endif /* RA_ADAPTER */
 
+#ifdef TCP_ADAPTER
+        case CA_ADAPTER_TCP:
+
+           OIC_LOG(DEBUG, TAG, "Add network type(TCP)");
+           if (u_arraylist_contains(g_selectedNetworkList, &NETWORK_TCP))
+           {
+               goto exit;
+           }
+           res = u_arraylist_add(g_selectedNetworkList, &NETWORK_TCP);
+           break;
+#endif /* TCP_ADAPTER */
+
         default:
             break;
     }
 
-    if (CA_STATUS_OK != res)
+    if (!res)
     {
         OIC_LOG_V(ERROR, TAG, "Add arraylist failed[Err code: %d]", res);
-        return res;
+        return CA_STATUS_FAILED;
     }
     // start selected interface adapter
-    res = CAStartAdapter(transportType);
+    CAResult_t result = CAStartAdapter(transportType);
     OIC_LOG(DEBUG, TAG, "OUT");
-    return res;
+    return result;
 
 exit:
     OIC_LOG(DEBUG, TAG, "This adapter is already enabled");
@@ -190,6 +206,13 @@ CAResult_t CARemoveNetworkType(CATransportAdapter_t transportType)
                     break;
 #endif /* RA_ADAPTER */
 
+#ifdef TCP_ADAPTER
+                case CA_ADAPTER_TCP:
+                    OIC_LOG(DEBUG, TAG, "Remove network type(TCP)");
+                    u_arraylist_remove(g_selectedNetworkList, index);
+                    break;
+#endif /* TCP_ADAPTER */
+
                 default:
                     break;
             }