Debug message cleanup
[platform/core/connectivity/bluetooth-frwk.git] / bt-api / bt-request-sender.c
index 8acad4d..2a00c51 100644 (file)
@@ -1,11 +1,5 @@
 /*
- * Bluetooth-frwk
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact:  Hocheol Seo <hocheol.seo@samsung.com>
- *              Girishashok Joshi <girish.joshi@samsung.com>
- *              Chanyeol Park <chanyeol.park@samsung.com>
+ * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,7 +15,6 @@
  *
  */
 
-#include <dbus/dbus-glib.h>
 #include <glib.h>
 #include <dlog.h>
 #include <string.h>
 #include "bluetooth-hid-api.h"
 #include "bluetooth-audio-api.h"
 #include "bt-internal-types.h"
+#include "bluetooth-ipsp-api.h"
 
 #include "bt-common.h"
 #include "bt-request-sender.h"
 #include "bt-event-handler.h"
 #include "bluetooth-media-control.h"
 
-/* auto generated header by bt-request-service.xml*/
-#include "bt-request-service.h"
-
 static GSList *sending_requests;
 
-DBusGConnection *service_conn;
-DBusGConnection *system_conn;
-DBusGProxy *service_proxy;
-
-static GDBusConnection *service_gconn;
 static GDBusProxy *service_gproxy;
 
 static GDBusProxy *__bt_gdbus_init_service_proxy(void)
 {
+       GDBusConnection *service_gconn;
        GDBusProxy *proxy;
        GError *err = NULL;
 
-       g_type_init();
+       service_gconn = _bt_gdbus_get_system_gconn();
 
-       if (service_gconn == NULL)
-               service_gconn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &err);
-
-       if (!service_gconn) {
-               if (err) {
-                       BT_ERR("Unable to connect to dbus: %s", err->message);
-                       g_clear_error(&err);
-               }
+       if (!service_gconn)
                return NULL;
-       }
 
        proxy =  g_dbus_proxy_new_sync(service_gconn,
                        G_DBUS_PROXY_FLAGS_NONE, NULL,
@@ -78,8 +57,6 @@ static GDBusProxy *__bt_gdbus_init_service_proxy(void)
                         g_clear_error(&err);
                }
 
-               g_object_unref(service_gconn);
-               service_gconn = NULL;
                return NULL;
        }
 
@@ -96,13 +73,8 @@ static GDBusProxy *__bt_gdbus_get_service_proxy(void)
 void _bt_gdbus_deinit_proxys(void)
 {
        if (service_gproxy) {
-               g_object_unref(service_proxy);
-               service_proxy = NULL;
-       }
-
-       if (service_gconn) {
-               g_object_unref(service_gconn);
-               service_gconn = NULL;
+               g_object_unref(service_gproxy);
+               service_gproxy = NULL;
        }
 }
 
@@ -111,7 +83,9 @@ static void __bt_get_event_info(int service_function, GArray *output,
 {
        ret_if(event == NULL);
 
-       BT_DBG("service_function : %x", service_function);
+       BT_DBG("service_function : %s (0x%x)",
+               _bt_convert_service_function_to_string(service_function),
+               service_function);
        switch (service_function) {
        case BT_BOND_DEVICE:
        case BT_BOND_DEVICE_BY_TYPE:
@@ -184,8 +158,8 @@ static void __bt_get_event_info(int service_function, GArray *output,
        case BT_AV_SOURCE_DISCONNECT:
                *event_type = BT_A2DP_SOURCE_EVENT;
                *event = BLUETOOTH_EVENT_AV_SOURCE_DISCONNECTED;
-               ret_if (output == NULL);
-               *param_data = &g_array_index (output, char, 0);
+               ret_if(output == NULL);
+               *param_data = &g_array_index(output, char, 0);
                break;
        case BT_HF_CONNECT:
                *event_type = BT_HF_AGENT_EVENT;
@@ -232,6 +206,48 @@ static void __bt_get_event_info(int service_function, GArray *output,
                ret_if(output == NULL);
                *param_data = &g_array_index(output, char, 0);
                break;
+       case BT_REQ_ATT_MTU:
+               *event_type = BT_DEVICE_EVENT;
+               *event = BLUETOOTH_EVENT_GATT_ATT_MTU_CHANGED;
+               ret_if(output == NULL);
+               *param_data = &g_array_index(output,
+                               bluetooth_device_address_t, 0);
+               break;
+       case BT_CONNECT_LE:
+               *event_type = BT_DEVICE_EVENT;
+               *event = BLUETOOTH_EVENT_GATT_CONNECTED;
+               ret_if(output == NULL);
+               *param_data = &g_array_index(output,
+                               bluetooth_device_address_t, 0);
+               break;
+       case BT_DISCONNECT_LE:
+               *event_type = BT_DEVICE_EVENT;
+               *event = BLUETOOTH_EVENT_GATT_DISCONNECTED;
+               ret_if(output == NULL);
+               *param_data = &g_array_index(output,
+                               bluetooth_device_address_t, 0);
+               break;
+       case BT_TDS_READ_TRANSPORT_DATA:
+               *event_type = BT_TDS_EVENT;
+               *event = BLUETOOTH_EVENT_TDS_TRANSPORT_DATA_RECEIVED;
+               ret_if(output == NULL);
+               *param_data = &g_array_index(output,
+                       bluetooth_device_address_t, 0);
+               break;
+       case BT_TDS_ENABLE_CONTROL_POINT:
+               *event_type = BT_TDS_EVENT;
+               *event = BLUETOOTH_EVENT_TDS_CONTROL_POINT_ENABLED;
+               ret_if(output == NULL);
+               *param_data = &g_array_index(output,
+                       bluetooth_device_address_t, 0);
+               break;
+       case BT_TDS_ACTIVATE_CONTROL_POINT:
+               *event_type = BT_TDS_EVENT;
+               *event = BLUETOOTH_EVENT_TDS_ACTIVATION_INDICATION;
+               ret_if(output == NULL);
+               *param_data = &g_array_index(output,
+                       bluetooth_device_address_t, 0);
+               break;
        default:
                BT_ERR("Unknown function");
                return;
@@ -258,8 +274,8 @@ static void __bt_fill_garray_from_variant(GVariant *var, GArray *param)
 }
 
 static void __send_request_cb(GDBusProxy *proxy,
-                     GAsyncResult *res,
-                     gpointer      user_data)
+                               GAsyncResult *res,
+                               gpointer user_data)
 {
        bluetooth_event_param_t bt_event;
        bt_req_info_t *cb_data = user_data;
@@ -317,16 +333,36 @@ static void __send_request_cb(GDBusProxy *proxy,
                                &bt_event.event, &event_type,
                                &bt_event.param_data);
 
+               BT_DBG("service_function [%d]", cb_data->service_function);
                if (result == BLUETOOTH_ERROR_NONE && out_param1) {
                        if (cb_data->service_function == BT_OPP_PUSH_FILES) {
                                request_id = g_array_index(out_param1, int, 0);
                                BT_DBG("request_id : %d", request_id);
                                _bt_add_push_request_id(request_id);
+                       } else if (cb_data->service_function == BT_MAP_LIST_FOLDERS) {
+                               request_id = g_array_index(out_param1, int, 0);
+                               BT_DBG("request_id : %d", request_id);
+                               _bt_add_push_request_id(request_id);
+                       } else if (cb_data->service_function == BT_MAP_LIST_FILTER_FIELDS) {
+                               request_id = g_array_index(out_param1, int, 0);
+                               BT_DBG("request_id : %d", request_id);
+                               _bt_add_push_request_id(request_id);
+                       } else if (cb_data->service_function == BT_MAP_LIST_MESSAGES) {
+                               request_id = g_array_index(out_param1, int, 0);
+                               BT_DBG("request_id : %d", request_id);
+                               _bt_add_push_request_id(request_id);
+                       } else if (cb_data->service_function == BT_MAP_GET_MESSAGE) {
+                               request_id = g_array_index(out_param1, int, 0);
+                               BT_DBG("request_id : %d", request_id);
+                               _bt_add_push_request_id(request_id);
+                       } else if (cb_data->service_function == BT_MAP_PUSH_MESSAGE) {
+                               request_id = g_array_index(out_param1, int, 0);
+                               BT_DBG("request_id : %d", request_id);
+                               _bt_add_push_request_id(request_id);
                        }
 
                        goto done;
                }
-
        }
 
        if (cb_data->cb == NULL)
@@ -334,7 +370,8 @@ static void __send_request_cb(GDBusProxy *proxy,
 
        /* Only if fail case, call the callback function*/
        bt_event.result = result;
-       BT_INFO("event_type[%d], result=[%d]", event_type, result);
+       BT_INFO("event_type[%d], result= %s [0x%x]", event_type,
+               _bt_convert_error_to_string(result), result);
 
        if (event_type == BT_ADAPTER_EVENT || event_type == BT_RFCOMM_CLIENT_EVENT) {
                ((bluetooth_cb_func_ptr)cb_data->cb)(bt_event.event,
@@ -360,6 +397,14 @@ static void __send_request_cb(GDBusProxy *proxy,
                ((bt_audio_func_ptr)cb_data->cb)(bt_event.event,
                                (bt_audio_event_param_t *)&bt_event,
                                cb_data->user_data);
+       } else if (event_type == BT_DEVICE_EVENT) {
+               ((bluetooth_cb_func_ptr)cb_data->cb)(bt_event.event,
+                               &bt_event,
+                               cb_data->user_data);
+       } else if (event_type == BT_TDS_EVENT) {
+               ((bluetooth_cb_func_ptr)cb_data->cb)(bt_event.event,
+                               &bt_event,
+                               cb_data->user_data);
        } else {
                BT_INFO("Not handled event type : %d", event_type);
        }
@@ -402,6 +447,8 @@ int _bt_sync_send_request(int service_type, int service_function,
 
                in_param5 = g_array_new(TRUE, TRUE, sizeof(gchar));
 
+
+
                param1 = g_variant_new_from_data((const GVariantType *)"ay",
                                        in_param1->data, in_param1->len,
                                        TRUE, NULL, NULL);
@@ -415,7 +462,7 @@ int _bt_sync_send_request(int service_type, int service_function,
                                        in_param4->data, in_param4->len,
                                        TRUE, NULL, NULL);
                param5 = g_variant_new_from_data((const GVariantType *)"ay",
-                                       in_param5->data,        in_param5->len,
+                                       in_param5->data, in_param5->len,
                                        TRUE, NULL, NULL);
 
                ret = g_dbus_proxy_call_sync(proxy, "service_request",
@@ -494,7 +541,9 @@ int _bt_async_send_request(int service_type, int service_function,
        GVariant *param4;
        GVariant *param5;
 
-       BT_DBG("service_function : %x", service_function);
+       BT_DBG("service_function : %s (0x%x)",
+                       _bt_convert_service_function_to_string(service_function),
+                       service_function);
 
        cb_data = g_new0(bt_req_info_t, 1);
 
@@ -551,6 +600,9 @@ int _bt_async_send_request(int service_type, int service_function,
 
                g_array_free(in_param5, TRUE);
                break;
+       default:
+               g_free(cb_data);
+               break;
        }
 
        return BLUETOOTH_ERROR_NONE;