X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fconnectivity%2Fsrc%2Fbt_edr_adapter%2Ftizen%2Fcaedrclient.c;h=017319096a43f28713895c25b2d0fefcd70bb0d6;hb=7f00f942c39b7bc27c7eeecf213a239c3fe4173c;hp=5d20ca9920fe4eb382966f8eb5c019fb6cfa7f9d;hpb=edcfc3d2329da7b914771c0dcff5f42c9b74fd93;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/connectivity/src/bt_edr_adapter/tizen/caedrclient.c b/resource/csdk/connectivity/src/bt_edr_adapter/tizen/caedrclient.c index 5d20ca9..0173190 100644 --- a/resource/csdk/connectivity/src/bt_edr_adapter/tizen/caedrclient.c +++ b/resource/csdk/connectivity/src/bt_edr_adapter/tizen/caedrclient.c @@ -30,7 +30,7 @@ #include #include "caedrinterface.h" -#include "camutex.h" +#include "octhread.h" #include "caedrendpoint.h" #include "caadapterutils.h" #include "caedrutils.h" @@ -49,7 +49,7 @@ /** * Mutex to synchronize the access to Bluetooth device information list. */ -static ca_mutex g_edrDeviceListMutex = NULL; +static oc_mutex g_edrDeviceListMutex = NULL; /** * Peer Bluetooth device information list. @@ -75,7 +75,7 @@ static u_arraylist_t *g_multicastDataList = NULL; /** * Mutex to synchronize the access to Pending multicast data list. */ -static ca_mutex g_multicastDataListMutex = NULL; +static oc_mutex g_multicastDataListMutex = NULL; /** * To Store Adapter Mode information @@ -174,7 +174,7 @@ void CAEDRSocketConnectionStateCallback(int result, bt_socket_connection_state_e { case BT_SOCKET_CONNECTED: { - ca_mutex_lock(g_edrDeviceListMutex); + oc_mutex_lock(g_edrDeviceListMutex); CAResult_t res = CAGetEDRDevice(g_edrDeviceList, connection->remote_address, &device); if (CA_STATUS_OK != res) @@ -185,34 +185,34 @@ void CAEDRSocketConnectionStateCallback(int result, bt_socket_connection_state_e if (CA_STATUS_OK != res) { OIC_LOG_V(ERROR, EDR_ADAPTER_TAG, "Failed add device to list ret[%d]", res); - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); return; } if(!device) { OIC_LOG(ERROR, EDR_ADAPTER_TAG, "EDRDevice is null!"); - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); return; } device->socketFD = connection->socket_fd; - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); return; } if(!device) { OIC_LOG(ERROR, EDR_ADAPTER_TAG, "EDRDevice is null!"); - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); return; } device->socketFD = connection->socket_fd; while (device->pendingDataList) { EDRData *edrData = device->pendingDataList->data; - res = CAEDRSendData(device->socketFD, edrData->data, - edrData->dataLength); + res = CAEDRSendData(device->socketFD, device->remoteAddress, + edrData->data, edrData->dataLength); if (CA_STATUS_OK != res) { OIC_LOG_V(ERROR, EDR_ADAPTER_TAG, "Failed to send pending data [%s]", @@ -226,15 +226,15 @@ void CAEDRSocketConnectionStateCallback(int result, bt_socket_connection_state_e // Remove the data which send from pending list CARemoveEDRDataFromList(&device->pendingDataList); } - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); } break; case BT_SOCKET_DISCONNECTED: { - ca_mutex_lock(g_edrDeviceListMutex); + oc_mutex_lock(g_edrDeviceListMutex); CARemoveEDRDeviceFromList(&g_edrDeviceList, connection->remote_address); - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); } break; @@ -271,10 +271,10 @@ void CAEDRDeviceDiscoveryCallback(int result, bt_adapter_device_discovery_state_ case BT_ADAPTER_DEVICE_DISCOVERY_FINISHED: { OIC_LOG(DEBUG, EDR_ADAPTER_TAG, "Discovery finished!"); - ca_mutex_lock(g_multicastDataListMutex); + oc_mutex_lock(g_multicastDataListMutex); u_arraylist_destroy(g_multicastDataList); g_multicastDataList = NULL; - ca_mutex_unlock(g_multicastDataListMutex); + oc_mutex_unlock(g_multicastDataListMutex); } break; @@ -287,18 +287,18 @@ void CAEDRDeviceDiscoveryCallback(int result, bt_adapter_device_discovery_state_ OIC_EDR_SERVICE_ID)) { // Check if the deivce is already in the list - ca_mutex_lock(g_edrDeviceListMutex); + oc_mutex_lock(g_edrDeviceListMutex); if (CA_STATUS_OK == CAGetEDRDevice(g_edrDeviceList, discoveryInfo->remote_address, &device)) { if(!device) { OIC_LOG(ERROR, EDR_ADAPTER_TAG, "EDRDevice is null!"); - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); return; } device->serviceSearched = true; - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); return; } @@ -308,14 +308,14 @@ void CAEDRDeviceDiscoveryCallback(int result, bt_adapter_device_discovery_state_ if (CA_STATUS_OK != res) { OIC_LOG(ERROR, EDR_ADAPTER_TAG, "Failed to add device to list!"); - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); return; } if(!device) { OIC_LOG(ERROR, EDR_ADAPTER_TAG, "EDRDevice is null!"); - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); return; } @@ -352,17 +352,17 @@ void CAEDRDeviceDiscoveryCallback(int result, bt_adapter_device_discovery_state_ } } device->serviceSearched = true; - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); } else { - OIC_LOG(ERROR, EDR_ADAPTER_TAG, "Device does not support OIC service!"); + OIC_LOG(INFO, EDR_ADAPTER_TAG, "Device does not support OIC service!"); } } break; default: - OIC_LOG(ERROR, EDR_ADAPTER_TAG, "Unknown Bluetooth Adapter device discovery state"); + OIC_LOG(INFO, EDR_ADAPTER_TAG, "Unknown Bluetooth Adapter device discovery state"); } OIC_LOG(DEBUG, EDR_ADAPTER_TAG, "OUT"); @@ -379,7 +379,7 @@ void CAEDRServiceSearchedCallback(int32_t result, return; } - ca_mutex_lock(g_edrDeviceListMutex); + oc_mutex_lock(g_edrDeviceListMutex); EDRDevice *device = NULL; CAResult_t res = CAGetEDRDevice(g_edrDeviceList, sdpInfo->remote_address, &device); @@ -388,7 +388,7 @@ void CAEDRServiceSearchedCallback(int32_t result, if (device->serviceSearched) { OIC_LOG(DEBUG, EDR_ADAPTER_TAG, "Service is already searched for this device!"); - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); return; } @@ -414,7 +414,7 @@ void CAEDRServiceSearchedCallback(int32_t result, } } - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); OIC_LOG(DEBUG, EDR_ADAPTER_TAG, "OUT"); } @@ -565,12 +565,12 @@ CAResult_t CAEDRManagerInitializeMutex(void) if (!g_edrDeviceListMutex) { - g_edrDeviceListMutex = ca_mutex_new(); + g_edrDeviceListMutex = oc_mutex_new(); } if (!g_multicastDataListMutex) { - g_multicastDataListMutex = ca_mutex_new(); + g_multicastDataListMutex = oc_mutex_new(); } if (!g_edrDeviceListMutex || !g_multicastDataListMutex) @@ -589,13 +589,13 @@ void CAEDRManagerTerminateMutex(void) if (g_edrDeviceListMutex) { - ca_mutex_free(g_edrDeviceListMutex); + oc_mutex_free(g_edrDeviceListMutex); g_edrDeviceListMutex = NULL; } if (g_multicastDataListMutex) { - ca_mutex_free(g_multicastDataListMutex); + oc_mutex_free(g_multicastDataListMutex); g_multicastDataListMutex = NULL; } @@ -617,17 +617,17 @@ void CAEDRClientTerminate() // Free EDRDevices list if (g_edrDeviceListMutex) { - ca_mutex_lock(g_edrDeviceListMutex); + oc_mutex_lock(g_edrDeviceListMutex); CADestroyEDRDeviceList(&g_edrDeviceList); - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); } if (g_multicastDataListMutex) { - ca_mutex_lock(g_multicastDataListMutex); + oc_mutex_lock(g_multicastDataListMutex); u_arraylist_destroy(g_multicastDataList); g_multicastDataList = NULL; - ca_mutex_unlock(g_multicastDataListMutex); + oc_mutex_unlock(g_multicastDataListMutex); } // Free the mutex @@ -639,7 +639,7 @@ void CAEDRClientDisconnectAll(void) { OIC_LOG(DEBUG, EDR_ADAPTER_TAG, "IN"); - ca_mutex_lock(g_edrDeviceListMutex); + oc_mutex_lock(g_edrDeviceListMutex); EDRDeviceList *cur = g_edrDeviceList; while (cur != NULL) @@ -660,7 +660,7 @@ void CAEDRClientDisconnectAll(void) } } - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); OIC_LOG(DEBUG, EDR_ADAPTER_TAG, "OUT"); } @@ -685,7 +685,7 @@ CAResult_t CAEDRClientSendUnicastData(const char *remoteAddress, } // Check the connection existence with remote device - ca_mutex_lock(g_edrDeviceListMutex); + oc_mutex_lock(g_edrDeviceListMutex); CAResult_t result = CAGetEDRDevice(g_edrDeviceList, remoteAddress, &device); if (CA_STATUS_OK != result) { @@ -696,7 +696,7 @@ CAResult_t CAEDRClientSendUnicastData(const char *remoteAddress, { OIC_LOG(ERROR, EDR_ADAPTER_TAG, "Failed create device and add to list!"); - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); return CA_STATUS_FAILED; } @@ -709,7 +709,7 @@ CAResult_t CAEDRClientSendUnicastData(const char *remoteAddress, // Remove device from list CARemoveEDRDeviceFromList(&g_edrDeviceList, remoteAddress); - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); return CA_STATUS_FAILED; } } @@ -720,11 +720,11 @@ CAResult_t CAEDRClientSendUnicastData(const char *remoteAddress, // Remove device from list CARemoveEDRDeviceFromList(&g_edrDeviceList, remoteAddress); - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); return CA_STATUS_FAILED; } - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); if (-1 == device->socketFD) { @@ -753,7 +753,7 @@ CAResult_t CAEDRClientSendUnicastData(const char *remoteAddress, } else { - result = CAEDRSendData(device->socketFD, data, dataLength); + result = CAEDRSendData(device->socketFD, device->remoteAddress, data, dataLength); if (CA_STATUS_OK != result) { OIC_LOG(ERROR, EDR_ADAPTER_TAG, "Failed to send data!"); @@ -780,7 +780,7 @@ CAResult_t CAEDRClientSendMulticastData(const uint8_t *data, } // Send the packet to all OIC devices - ca_mutex_lock(g_edrDeviceListMutex); + oc_mutex_lock(g_edrDeviceListMutex); EDRDeviceList *curList = g_edrDeviceList; CAResult_t result = CA_STATUS_FAILED; @@ -826,7 +826,7 @@ CAResult_t CAEDRClientSendMulticastData(const uint8_t *data, } else { - result = CAEDRSendData(device->socketFD, data, dataLength); + result = CAEDRSendData(device->socketFD, device->remoteAddress ,data, dataLength); if (CA_STATUS_OK != result) { OIC_LOG_V(ERROR, EDR_ADAPTER_TAG, "Failed to send data to [%s] !", @@ -835,7 +835,7 @@ CAResult_t CAEDRClientSendMulticastData(const uint8_t *data, } } - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); if(g_isDiscoveryServer) { @@ -861,13 +861,13 @@ CAResult_t CAEDRClientSendMulticastData(const uint8_t *data, multicastData->dataLength = dataLength; // Add the data to pending multicast data list. - ca_mutex_lock(g_multicastDataListMutex); + oc_mutex_lock(g_multicastDataListMutex); if (NULL == g_multicastDataList) { g_multicastDataList = u_arraylist_create(); } u_arraylist_add(g_multicastDataList, (void *)multicastData); - ca_mutex_unlock(g_multicastDataListMutex); + oc_mutex_unlock(g_multicastDataListMutex); } } @@ -945,16 +945,16 @@ void CAEDRDataRecvCallback(bt_socket_received_data_s *data, void *userData) } // Get EDR device from list - ca_mutex_lock(g_edrDeviceListMutex); + oc_mutex_lock(g_edrDeviceListMutex); CAResult_t result = CAGetEDRDeviceBySocketId(g_edrDeviceList, data->socket_fd, &device); if (CA_STATUS_OK != result) { OIC_LOG(ERROR, EDR_ADAPTER_TAG, "Could not find the device!"); - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); return; } - ca_mutex_unlock(g_edrDeviceListMutex); + oc_mutex_unlock(g_edrDeviceListMutex); //: TODO Need to check if 'check required for socket still connected or not' if (!device)