replace : iotivity -> iotivity-sec
[platform/upstream/iotivity.git] / resource / csdk / connectivity / src / bt_edr_adapter / tizen / caedrendpoint.c
index bcf2e89..319af2b 100644 (file)
 #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;
 }