From: Sangkoo Kim Date: Mon, 17 Apr 2017 06:02:48 +0000 (+0900) Subject: Add connection check X-Git-Tag: submit/tizen/20170418.092249~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e1a62da78ff1e3f3122f09cf2d0e45b082aa985e;p=platform%2Fcore%2Fservice%2Fcloud%2Fua-client.git Add connection check --- diff --git a/src/ua_client.cpp b/src/ua_client.cpp index a733b93..a562e9d 100755 --- a/src/ua_client.cpp +++ b/src/ua_client.cpp @@ -17,8 +17,9 @@ #include "RDClient.h" #include "logger.h" -#include "OCApi.h" -#include "OCPlatform.h" +#include +#include +#include #include @@ -773,6 +774,68 @@ int is_network_connected() return network_state; } +void NSProviderConnectionStateListener(const std::string str, OCConnectivityType type, bool connected) +{ + UA_LOG("NSProviderConnectionStateListener - IN"); + + if (connected == true) + { + UA_LOG("CONNECTED"); + + // Set Connection State + // NSSetProviderConnectionState(CONNECTED); + + // Start Presence + // NSPushQueue(DISCOVERY_SCHEDULER, TASK_START_PRESENCE, NULL); + + if (type == CT_ADAPTER_TCP) + { + UA_LOG("TCP Connected remote address: %s", str.c_str()); + } + } + else + { + UA_LOG("DISCONNECTED"); + /* TODO: Sign In, register Resource, publish */ + // Set Connection State + + if (type == CT_ADAPTER_TCP) + { + UA_LOG("TCP Disconnected remote address: %s", str.c_str()); + } + } + + UA_LOG("NSProviderConnectionStateListener - OUT"); +} + +void NSProviderAdapterStateListener(OCTransportAdapter adapter, bool enabled) +{ + (void)adapter; + + UA_LOG("NSProviderAdapterStateListener - IN"); + + if (enabled == true) + { + UA_LOG("CONNECTED"); + + // Set Connection State + // NSSetProviderConnectionState(CONNECTED); + + // Start Presence + // NSPushQueue(DISCOVERY_SCHEDULER, TASK_START_PRESENCE, NULL); + } + else + { + + UA_LOG("DISCONNECTED"); + + // Set Connection State + // NSSetProviderConnectionState(DISCONNECTED); + } + + UA_LOG("NSProviderAdapterStateListener - OUT"); +} + void *_start_ua_client(void *data) { @@ -836,6 +899,7 @@ void *_start_ua_client(void *data) // Time to Live is 30 seconds OCPlatform::startPresence(30); + result = OCPlatform::registerResource(firmware.m_handle, uri, rt, @@ -878,6 +942,11 @@ void *_start_ua_client(void *data) g_callbackLock.wait(lock); + OCStackResult ret = OC_STACK_OK; + ret = OC::CAManager::setNetworkMonitorHandler((OC::CAManager::AdapterChangedCallback)NSProviderAdapterStateListener, + (OC::CAManager::ConnectionChangedCallback)NSProviderConnectionStateListener); + UA_LOG(" CARegisterNetworkMonitorHandler ret[%d], ret"); + while(true) { // Running.... }