BLE Gatt Client Socket write and notify implementation
[platform/core/connectivity/bluetooth-frwk.git] / bt-oal / oal-gatt.c
index fb7b4f0..f80599f 100644 (file)
@@ -1967,6 +1967,54 @@ oal_status_t gattc_read_descriptor(int conn_id, oal_gatt_srvc_id_t *srvc_id,
        return OAL_STATUS_SUCCESS;
 }
 
+oal_status_t gattc_acquire_notify(int conn_id, oal_gatt_srvc_id_t *srvc_id,
+               oal_gatt_id_t *char_id,  int *fd, int *mtu)
+{
+       int ret = OAL_STATUS_SUCCESS;
+       char uuid_str1[2*BT_UUID_STRING_MAX];
+       char uuid_str2[2*BT_UUID_STRING_MAX];
+       OAL_CHECK_PARAMETER(srvc_id, return);
+       OAL_CHECK_PARAMETER(char_id, return);
+       uuid_to_stringname(&(srvc_id->id.uuid), uuid_str1);
+       uuid_to_stringname(&(char_id->uuid), uuid_str2);
+       API_TRACE("Client Write Characteristic: Service_uuid: [%s], Char_uuid: [%s]", uuid_str1, uuid_str2);
+       CHECK_OAL_GATT_ENABLED();
+       CHECK_CLIENT_CONNECTION(conn_id);
+
+       ret = gatt_api->client->acquire_notify(conn_id, (btgatt_srvc_id_t *)srvc_id,
+                       (btgatt_gatt_id_t *)char_id, fd, mtu);
+       if (ret != BT_STATUS_SUCCESS) {
+               BT_ERR("GATT client write characteristic failed: %s", status2string(ret));
+               return convert_to_oal_status(ret);
+       }
+
+       return OAL_STATUS_SUCCESS;
+}
+
+oal_status_t gattc_acquire_write(int conn_id, oal_gatt_srvc_id_t *srvc_id,
+               oal_gatt_id_t *char_id,  oal_gatt_auth_req_t auth_req , int *fd, int*mtu)
+{
+       int ret = OAL_STATUS_SUCCESS;
+       char uuid_str1[2*BT_UUID_STRING_MAX];
+       char uuid_str2[2*BT_UUID_STRING_MAX];
+       OAL_CHECK_PARAMETER(srvc_id, return);
+       OAL_CHECK_PARAMETER(char_id, return);
+       uuid_to_stringname(&(srvc_id->id.uuid), uuid_str1);
+       uuid_to_stringname(&(char_id->uuid), uuid_str2);
+       API_TRACE("Client Write Characteristic: Service_uuid: [%s], Char_uuid: [%s]", uuid_str1, uuid_str2);
+       CHECK_OAL_GATT_ENABLED();
+       CHECK_CLIENT_CONNECTION(conn_id);
+
+       ret = gatt_api->client->acquire_write(conn_id, (btgatt_srvc_id_t *)srvc_id,
+                       (btgatt_gatt_id_t *)char_id,  auth_req, fd, mtu);
+       if (ret != BT_STATUS_SUCCESS) {
+               BT_ERR("GATT client write characteristic failed: %s", status2string(ret));
+               return convert_to_oal_status(ret);
+       }
+
+       return OAL_STATUS_SUCCESS;
+}
+
 oal_status_t gattc_write_characteristic(int conn_id, oal_gatt_srvc_id_t *srvc_id,
                oal_gatt_id_t *char_id, oal_gatt_write_type_t write_type,
                int len, oal_gatt_auth_req_t auth_req, char* data)