+
+int _bt_opp_get_client_progress(guint8 *progress)
+{
+ if (sending_info == NULL || sending_info->transfer_info == NULL) {
+ BT_ERR("No Active Outbound transfer");
+ return BLUETOOTH_ERROR_NOT_FOUND;
+ }
+
+ *progress = (int)(((double)sending_info->transfer_info->progress /
+ sending_info->transfer_info->size) * 100);
+
+ BT_DBG("Percentage: %d", *progress);
+ return BLUETOOTH_ERROR_NONE;
+}
+
+void _bt_cancel_queued_transfers(void)
+{
+ bt_sending_data_t *data = NULL;
+ GVariant *param = NULL;
+
+ BT_INFO("Cancel queued Transfers:: Length of transfer list is %d",
+ g_slist_length(transfer_list));
+
+ while (transfer_list) {
+ data = transfer_list->data;
+ param = g_variant_new("(isi)", BLUETOOTH_ERROR_INTERNAL,
+ data->address, data->request_id);
+
+ BT_DBG("Address[%s] RequestID[%d]", data->address, data->request_id);
+ _bt_send_event(BT_OPP_CLIENT_EVENT, BLUETOOTH_EVENT_OPC_CONNECTED,
+ param);
+
+ transfer_list = g_slist_remove(transfer_list, data);
+ }
+}