#include "RDClient.h"
#include "logger.h"
-#include "OCApi.h"
-#include "OCPlatform.h"
+#include <OCApi.h>
+#include <OCPlatform.h>
+#include <CAManager.h>
#include <wifi.h>
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)
{
// Time to Live is 30 seconds
OCPlatform::startPresence(30);
+
result = OCPlatform::registerResource(firmware.m_handle,
uri,
rt,
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....
}