X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fconnectivity%2Fsrc%2Fbt_edr_adapter%2Ftizen%2Fcaedrendpoint.c;h=319af2b517c0105ee5d6602b747567341873b58b;hb=c315c87e07c4080ecd0ef488e7a1047bc3c509b2;hp=bcf2e896237265c2bb26c9ad4b419377570f8ea7;hpb=e258465880a69835a8597de64d61a1f851b818d3;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/connectivity/src/bt_edr_adapter/tizen/caedrendpoint.c b/resource/csdk/connectivity/src/bt_edr_adapter/tizen/caedrendpoint.c index bcf2e89..319af2b 100644 --- a/resource/csdk/connectivity/src/bt_edr_adapter/tizen/caedrendpoint.c +++ b/resource/csdk/connectivity/src/bt_edr_adapter/tizen/caedrendpoint.c @@ -29,13 +29,12 @@ #include "caedrutils.h" #include "logger.h" -CAResult_t CAEDRSendData(int serverFD, const void *data, uint32_t dataLength, - uint32_t *sentDataLen) +CAResult_t CAEDRSendData(int serverFD, const char *addr, const void *data, uint32_t dataLength) { OIC_LOG(DEBUG, EDR_ADAPTER_TAG, "IN"); VERIFY_NON_NULL(data, EDR_ADAPTER_TAG, "Data is null"); - VERIFY_NON_NULL(sentDataLen, EDR_ADAPTER_TAG, "Sent data length holder is null"); + VERIFY_NON_NULL(addr, EDR_ADAPTER_TAG, "Addr is null"); if (0 > serverFD) { @@ -44,14 +43,31 @@ CAResult_t CAEDRSendData(int serverFD, const void *data, uint32_t dataLength, } int dataLen = bt_socket_send_data(serverFD, (const char *)data, dataLength); - if (dataLen == -1) + int errcode = get_last_result(); + + if (TIZEN_ERROR_NONE == errcode) + { + CALogSendStateInfo(CA_ADAPTER_RFCOMM_BTEDR, addr, 0, dataLength, true, NULL); + } + else { - OIC_LOG_V(ERROR, EDR_ADAPTER_TAG, "sending data failed!, soketid [%d]", serverFD); - *sentDataLen = 0; + if (dataLen == -1) + { + OIC_LOG_V(ERROR, EDR_ADAPTER_TAG, "sending data failed!, soketid [%d] errmsg [%s]", + serverFD, get_error_message(errcode)); + } + else if (dataLen == 0) + { + OIC_LOG_V(ERROR, EDR_ADAPTER_TAG, "soketid [%d] may be disconnected? errmsg [%s]", + serverFD, get_error_message(errcode)); + } + + CALogSendStateInfo(CA_ADAPTER_RFCOMM_BTEDR, addr, 0, dataLength, + false, get_error_message(errcode)); + return CA_SOCKET_OPERATION_FAILED; } - *sentDataLen = dataLen; OIC_LOG(DEBUG, EDR_ADAPTER_TAG, "OUT"); return CA_STATUS_OK; }