From 51c02359e7828595cbce0ffe08d74ddbd2ad8cba Mon Sep 17 00:00:00 2001 From: "jihwan.seo" Date: Mon, 13 Apr 2015 15:34:45 +0900 Subject: [PATCH] Integrated NetworkConfigurator Multi/SighleThread in CA Integrated NetworkConfigurator file since there are many common code between MultiThread and SingleThread file. Change-Id: Ibf765df284ba250cec1f9d842d785d63fff4978e Signed-off-by: jihwan.seo Reviewed-on: https://gerrit.iotivity.org/gerrit/697 Tested-by: jenkins-iotivity Reviewed-by: Erich Keane --- resource/csdk/connectivity/src/SConscript | 2 +- .../csdk/connectivity/src/canetworkconfigurator.c | 70 +++--- .../src/canetworkconfigurator_singlethread.c | 255 --------------------- 3 files changed, 35 insertions(+), 292 deletions(-) delete mode 100644 resource/csdk/connectivity/src/canetworkconfigurator_singlethread.c diff --git a/resource/csdk/connectivity/src/SConscript b/resource/csdk/connectivity/src/SConscript index 4340ea2..04e57de 100644 --- a/resource/csdk/connectivity/src/SConscript +++ b/resource/csdk/connectivity/src/SConscript @@ -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', diff --git a/resource/csdk/connectivity/src/canetworkconfigurator.c b/resource/csdk/connectivity/src/canetworkconfigurator.c index 191a27b..513969a 100644 --- a/resource/csdk/connectivity/src/canetworkconfigurator.c +++ b/resource/csdk/connectivity/src/canetworkconfigurator.c @@ -21,11 +21,11 @@ #include #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 index c63aa60..0000000 --- a/resource/csdk/connectivity/src/canetworkconfigurator_singlethread.c +++ /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 - -#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; -} - -- 2.7.4