static CANetworkPacketReceivedCallback g_networkPacketReceivedCallback = NULL;
-static CAAdapterChangeCallback g_adapterChangeCallback = NULL;
+static CAAdapterStateChangedCB g_adapterChangeCallback = NULL;
-static CAConnectionChangeCallback g_connChangeCallback = NULL;
+static CAConnectionStateChangedCB g_connChangeCallback = NULL;
static CAErrorHandleCallback g_errorHandleCallback = NULL;
static void CARegisterCallback(CAConnectivityHandler_t handler)
{
- if(handler.startAdapter == NULL ||
+ if (handler.startAdapter == NULL ||
handler.startListenServer == NULL ||
handler.stopListenServer == NULL ||
handler.startDiscoveryServer == NULL ||
// Call the callback.
if (g_adapterChangeCallback != NULL)
{
- g_adapterChangeCallback(adapter, status);
+ if (CA_INTERFACE_UP == status)
+ {
+ g_adapterChangeCallback(adapter, true);
+ }
+ else if (CA_INTERFACE_DOWN == status)
+ {
+ g_adapterChangeCallback(adapter, false);
+ }
}
OIC_LOG_V(DEBUG, TAG, "[%d]adapter status is changed to [%d]", adapter, status);
}
+#if defined(TCP_ADAPTER) || defined(EDR_ADAPTER) || defined(LE_ADAPTER)
static void CAConnectionChangedCallback(const CAEndpoint_t *info, bool isConnected)
{
// Call the callback.
}
OIC_LOG_V(DEBUG, TAG, "[%s] connection status is changed to [%d]", info->addr, isConnected);
}
+#endif
static void CAAdapterErrorHandleCallback(const CAEndpoint_t *endpoint,
const void *data, uint32_t dataLen,
g_networkPacketReceivedCallback = callback;
}
-void CASetNetworkMonitorCallbacks(CAAdapterChangeCallback adapterCB,
- CAConnectionChangeCallback connCB)
+void CASetNetworkMonitorCallbacks(CAAdapterStateChangedCB adapterCB,
+ CAConnectionStateChangedCB connCB)
{
OIC_LOG(DEBUG, TAG, "Set network monitoring callback");
OIC_LOG_V(DEBUG,
TAG,
- "%zu adapter network info size is %" PRIu32 " res:%d",
+ "%" PRIu32 " adapter network info size is %" PRIu32 " res:%d",
index,
tempSize[index],
res);
{
return res;
}
- return CA_STATUS_FAILED;
+ else
+ {
+ return CA_STATUS_FAILED;
+ }
}
// #3. add data into result
return CA_MEMORY_ALLOC_FAILED;
}
-CAResult_t CASendUnicastData(const CAEndpoint_t *endpoint, const void *data, uint32_t length)
+CAResult_t CASendUnicastData(const CAEndpoint_t *endpoint, const void *data, uint32_t length,
+ CADataType_t dataType)
{
if (endpoint == NULL)
{
if (NULL != g_adapterHandler[index].sendData)
{
OIC_LOG(DEBUG, TAG, "unicast message to adapter");
- sentDataLen = g_adapterHandler[index].sendData(endpoint, data, length);
+ sentDataLen = g_adapterHandler[index].sendData(endpoint, data, length, dataType);
}
if (sentDataLen != (int32_t)length)
return CA_STATUS_OK;
}
-CAResult_t CASendMulticastData(const CAEndpoint_t *endpoint, const void *data, uint32_t length)
+CAResult_t CASendMulticastData(const CAEndpoint_t *endpoint, const void *data, uint32_t length,
+ CADataType_t dataType)
{
u_arraylist_t *list = CAGetSelectedNetworkList();
if (!list)
{
void* ptrType = u_arraylist_get(list, i);
- if(NULL == ptrType)
+ if (NULL == ptrType)
{
continue;
}
int index = CAGetAdapterIndex(connType);
if (0 > index)
- if (-1 == index)
{
- OIC_LOG(DEBUG, TAG, "unknown connectivity type!");
+ OIC_LOG(ERROR, TAG, "unknown connectivity type!");
continue;
}
return CA_MEMORY_ALLOC_FAILED;
}
memcpy(payload, data, length);
- sentDataLen = g_adapterHandler[index].sendDataToAll(endpoint, payload, length);
+ sentDataLen = g_adapterHandler[index].sendDataToAll(endpoint, payload, length, dataType);
OICFree(payload);
}