1 /* ****************************************************************
3 * Copyright 2016 Samsung Electronics All Rights Reserved.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
19 ******************************************************************/
24 * This file contains the implementation of classes and its members related
25 * to CAManager. Network changes status will be passed from CA to application.
29 #include "CAManager.h"
30 #include "cautilinterface.h"
36 CAManager::AdapterChangedCallback g_adapterHandler = nullptr;
37 CAManager::ConnectionChangedCallback g_connectionHandler = nullptr;
40 void DefaultAdapterStateChangedHandler(CATransportAdapter_t adapter, bool enabled)
44 g_adapterHandler((OCTransportAdapter) adapter, enabled);
48 void DefaultConnectionStateChangedHandler(CATransportAdapter_t adapter,
49 const char *remote_address, bool connected)
51 if (g_connectionHandler)
53 g_connectionHandler((OCTransportAdapter) adapter, remote_address, connected);
57 OCStackResult CAManager::setNetworkMonitorHandler(AdapterChangedCallback adapterHandler,
58 ConnectionChangedCallback connectionHandler)
60 g_adapterHandler = adapterHandler;
61 g_connectionHandler = connectionHandler;
63 CAResult_t ret = CARegisterNetworkMonitorHandler(DefaultAdapterStateChangedHandler,
64 DefaultConnectionStateChangedHandler);
70 case CA_NOT_SUPPORTED:
71 return OC_STACK_NOTIMPL;
73 return OC_STACK_ERROR;