X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=bt-api%2Fbt-telephony.c;h=8ae305d131c4afb068736f89c232e9d46d314010;hb=684f5da84d22874810deb97ea6d72b81f63fbb70;hp=fde8499d30758c36f6b4b49e78692588d3fb79cd;hpb=412bfd641f5d1d78310b5a49ca80cf45b990138e;p=platform%2Fcore%2Fconnectivity%2Fbluetooth-frwk.git diff --git a/bt-api/bt-telephony.c b/bt-api/bt-telephony.c index fde8499..8ae305d 100644 --- a/bt-api/bt-telephony.c +++ b/bt-api/bt-telephony.c @@ -49,8 +49,8 @@ typedef struct { } bt_telephony_info_t; -char *src_addr = NULL; -guint owner_id = 0; +static char *src_addr = NULL; +static guint owner_id = 0; #define BLUETOOTH_TELEPHONY_ERROR (__bluetooth_telephony_error_quark()) @@ -490,18 +490,7 @@ static void __bluetooth_telephony_event_filter(GDBusConnection *connection, { BT_DBG("+"); - if (strcasecmp(interface_name, HFP_AGENT_SERVICE) == 0) { - if (strcasecmp(signal_name, HFP_NREC_STATUS_CHANGE) == 0) - __bluetooth_handle_nrec_status_change(parameters); - else if (strcasecmp(signal_name, HFP_ANSWER_CALL) == 0) - __bluetooth_telephony_answer_call(parameters); - else if (strcasecmp(signal_name, HFP_REJECT_CALL) == 0) - __bluetooth_telephony_reject_call(parameters); - else if (strcasecmp(signal_name, HFP_RELEASE_CALL) == 0) - __bluetooth_telephony_release_call(parameters); - else if (strcasecmp(signal_name, HFP_THREEWAY_CALL) == 0) - __bluetooth_telephony_threeway_call(parameters); - } else if (strcasecmp(interface_name, BLUEZ_HEADSET_INTERFACE) == 0) { + if (strcasecmp(interface_name, BLUEZ_HEADSET_INTERFACE) == 0) { if (strcasecmp(signal_name, "PropertyChanged") == 0) { GVariant *values; gchar *property; @@ -626,7 +615,16 @@ static void __bluetooth_telephony_event_filter(GDBusConnection *connection, } g_variant_unref(values); - } + } else if (strcasecmp(signal_name, HFP_NREC_STATUS_CHANGE) == 0) + __bluetooth_handle_nrec_status_change(parameters); + else if (strcasecmp(signal_name, HFP_ANSWER_CALL) == 0) + __bluetooth_telephony_answer_call(parameters); + else if (strcasecmp(signal_name, HFP_REJECT_CALL) == 0) + __bluetooth_telephony_reject_call(parameters); + else if (strcasecmp(signal_name, HFP_RELEASE_CALL) == 0) + __bluetooth_telephony_release_call(parameters); + else if (strcasecmp(signal_name, HFP_THREEWAY_CALL) == 0) + __bluetooth_telephony_threeway_call(parameters); } BT_DBG("-"); } @@ -1209,89 +1207,22 @@ int __bt_telephony_event_subscribe_signal(GDBusConnection *conn, if (conn == NULL) return -1; - static guint subscribe_event1_id = 0; - static guint subscribe_event2_id = 0; - static guint subscribe_event3_id = 0; - static guint subscribe_event4_id = 0; - static guint subscribe_event5_id = 0; - static guint subscribe_event6_id = 0; + static guint event_id = 0; if (subscribe == TRUE) { - if (subscribe_event1_id == 0) { - subscribe_event1_id = g_dbus_connection_signal_subscribe(conn, + if (event_id == 0) { + event_id = g_dbus_connection_signal_subscribe(conn, NULL, BLUEZ_HEADSET_INTERFACE, - "PropertyChanged", NULL, NULL, 0, - __bluetooth_telephony_event_filter, - NULL, NULL); - } - if (subscribe_event2_id == 0) { - subscribe_event2_id = g_dbus_connection_signal_subscribe(conn, - NULL, HFP_AGENT_SERVICE, - HFP_NREC_STATUS_CHANGE, NULL, NULL, 0, - __bluetooth_telephony_event_filter, - NULL, NULL); - } - - if (subscribe_event3_id == 0) { - subscribe_event3_id = g_dbus_connection_signal_subscribe(conn, - NULL, HFP_AGENT_SERVICE, - HFP_ANSWER_CALL, NULL, NULL, 0, - __bluetooth_telephony_event_filter, - NULL, NULL); - } - if (subscribe_event4_id == 0) { - subscribe_event4_id = g_dbus_connection_signal_subscribe(conn, - NULL, HFP_AGENT_SERVICE, - HFP_REJECT_CALL, NULL, NULL, 0, - __bluetooth_telephony_event_filter, - NULL, NULL); - } - if (subscribe_event5_id == 0) { - subscribe_event5_id = g_dbus_connection_signal_subscribe(conn, - NULL, HFP_AGENT_SERVICE, - HFP_RELEASE_CALL, NULL, NULL, 0, - __bluetooth_telephony_event_filter, - NULL, NULL); - } - if (subscribe_event6_id == 0) { - subscribe_event6_id = g_dbus_connection_signal_subscribe(conn, - NULL, HFP_AGENT_SERVICE, - HFP_THREEWAY_CALL, NULL, NULL, 0, + NULL, NULL, NULL, 0, __bluetooth_telephony_event_filter, NULL, NULL); } - return BLUETOOTH_TELEPHONY_ERROR_NONE; } else { - if (subscribe_event1_id > 0) { - g_dbus_connection_signal_unsubscribe(conn, - subscribe_event1_id); - subscribe_event1_id = 0; - } - if (subscribe_event2_id > 0) { - g_dbus_connection_signal_unsubscribe(conn, - subscribe_event2_id); - subscribe_event2_id = 0; - } - if (subscribe_event3_id > 0) { - g_dbus_connection_signal_unsubscribe(conn, - subscribe_event3_id); - subscribe_event3_id = 0; - } - if (subscribe_event4_id > 0) { - g_dbus_connection_signal_unsubscribe(conn, - subscribe_event4_id); - subscribe_event4_id = 0; - } - if (subscribe_event5_id > 0) { - g_dbus_connection_signal_unsubscribe(conn, - subscribe_event5_id); - subscribe_event5_id = 0; - } - if (subscribe_event6_id > 0) { + if (event_id > 0) { g_dbus_connection_signal_unsubscribe(conn, - subscribe_event6_id); - subscribe_event6_id = 0; + event_id); + event_id = 0; } return BLUETOOTH_TELEPHONY_ERROR_NONE; } @@ -2338,7 +2269,7 @@ static void __bt_telephony_adapter_filter(GDBusConnection *connection, return; } - BT_INFO("Adapter Path = [%s]", path); + BT_DBG("Adapter Path = [%s]", path); if (strcasecmp(path, DEFAULT_ADAPTER_OBJECT_PATH) == 0) { if (__bt_telephony_get_src_addr(optional_param)) BT_ERR("Fail to get the local adapter address");