Set signal name to dbus subscription 38/150538/1 accepted/tizen/unified/20170918.093952 submit/tizen/20170918.010837
authorinjun.yang <injun.yang@samsung.com>
Fri, 15 Sep 2017 09:22:20 +0000 (18:22 +0900)
committerDoHyun Pyun <dh79.pyun@samsung.com>
Mon, 18 Sep 2017 01:04:37 +0000 (10:04 +0900)
[Problem] Redundant callback invoked
[Cause & Measure] Set signal name to dbus subscritpion

Change-Id: Id5dbecc42871a7f70a80d13e05498f47321c88f8
Signed-off-by: injun.yang <injun.yang@samsung.com>
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
ag-agent/bluetooth-ag-agent.c
ag-agent/bluetooth-ag-agent.h
hf-agent/bluetooth-hf-agent.c
hf-agent/bluetooth-hf-agent.h
hid-agent/bluetooth-hid-agent.c
hid-agent/bluetooth-hid-agent.h

index 7cc6265..c1d9595 100644 (file)
@@ -44,8 +44,9 @@
 
 static GMainLoop *gmain_loop = NULL;
 static GDBusProxy *service_gproxy;
-static int owner_sig_id = -1;
-static int name_owner_sig_id = -1;
+static guint interface_added_sig_id = 0;
+static guint interface_removed_sig_id = 0;
+static guint name_owner_sig_id = 0;
 GDBusConnection *ag_dbus_conn = NULL;
 gchar *remote_dev_path = NULL;
 gboolean wbs_en;
@@ -64,8 +65,8 @@ static guint hf_bluez_id;
 static guint hs_bluez_id;
 static guint app_id;
 #ifdef TIZEN_FEATURE_BT_MEDIA_ENHANCE
-static int media_sig_id = -1;
-static int media_state_sig_id = -1;
+static guint media_sig_id = 0;
+static guint media_state_sig_id = 0;
 static bt_ag_media_transport_state_t transport_state;
 #endif
 
@@ -4097,23 +4098,32 @@ static void __bt_ag_agent_dbus_deinit(void)
        if (ag_dbus_conn) {
                __bt_ag_unregister_profile_methods();
 
-               if (owner_sig_id != -1)
+               if (interface_added_sig_id)
                        g_dbus_connection_signal_unsubscribe(ag_dbus_conn,
-                                               owner_sig_id);
+                                               interface_added_sig_id);
 
-               if (name_owner_sig_id != -1)
+               if (interface_removed_sig_id)
+                       g_dbus_connection_signal_unsubscribe(ag_dbus_conn,
+                                               interface_removed_sig_id);
+
+               if (name_owner_sig_id)
                        g_dbus_connection_signal_unsubscribe(ag_dbus_conn,
                                                name_owner_sig_id);
 #ifdef TIZEN_FEATURE_BT_MEDIA_ENHANCE
-               if (media_sig_id != -1)
+               if (media_sig_id)
                        g_dbus_connection_signal_unsubscribe(ag_dbus_conn,
                                                media_sig_id);
+               media_sig_id = 0;
 
-               if (media_state_sig_id != -1)
+               if (media_state_sig_id)
                        g_dbus_connection_signal_unsubscribe(ag_dbus_conn,
                                                media_state_sig_id);
+               media_state_sig_id = 0;
 #endif
-               name_owner_sig_id = -1;
+
+               interface_added_sig_id = 0;
+               interface_removed_sig_id = 0;
+               name_owner_sig_id = 0;
                g_free(sco_owner);
                sco_owner = NULL;
 
@@ -4324,9 +4334,16 @@ static void __bt_ag_agent_dbus_init(void)
                        HSP_AG_UUID, "Headset Audio Gateway");
        }
 
-       owner_sig_id = g_dbus_connection_signal_subscribe(ag_dbus_conn,
-                               NULL, BT_MANAGER_INTERFACE, NULL, NULL, NULL, 0,
+       interface_added_sig_id = g_dbus_connection_signal_subscribe(ag_dbus_conn,
+                               NULL, BT_MANAGER_INTERFACE,
+                               BT_INTERFACES_ADDED, NULL, NULL, 0,
                                __bt_ag_agent_filter_cb, NULL, NULL);
+
+       interface_removed_sig_id = g_dbus_connection_signal_subscribe(ag_dbus_conn,
+                               NULL, BT_MANAGER_INTERFACE,
+                               BT_INTERFACES_REMOVED, NULL, NULL, 0,
+                               __bt_ag_agent_filter_cb, NULL, NULL);
+
 #ifdef TIZEN_FEATURE_BT_MEDIA_ENHANCE
        media_sig_id = g_dbus_connection_signal_subscribe(ag_dbus_conn,
                                NULL, BT_PROPERTIES_INTERFACE, NULL, NULL,
index e0d60cf..3198660 100755 (executable)
@@ -75,6 +75,8 @@
 #define TELEPHONY_APP_INTERFACE "org.tizen.csd.Call.Instance"
 #define BT_HEADSET_INTERFACE "org.bluez.Headset"
 #define BT_ADAPTER_INTERFACE   "org.bluez.Adapter1"
+#define BT_INTERFACES_ADDED "InterfacesAdded"
+#define BT_INTERFACES_REMOVED "InterfacesRemoved"
 #ifdef TIZEN_FEATURE_BT_MEDIA_ENHANCE
 #define BT_PROPERTIES_INTERFACE "org.freedesktop.DBus.Properties"
 #define BLUEZ_MEDIA_TRANSPORT_INTERFACE "org.bluez.MediaTransport1"
index 7ac16c2..8ea0c85 100755 (executable)
@@ -66,7 +66,8 @@ static char *g_obj_path;
 
 static GDBusConnection *gdbus_conn;
 static GDBusProxy *service_gproxy;
-static int owner_sig_id = -1;
+static guint interface_added_sig_id;
+static guint interface_removed_sig_id;
 int g_id = 0;
 uint16_t hf_ver;
 
@@ -3081,9 +3082,14 @@ static void __bt_hf_agent_dbus_init(void)
                return;
        }
 
-       owner_sig_id = g_dbus_connection_signal_subscribe(conn,
-                               NULL, BT_MANAGER_INTERFACE, NULL, NULL, NULL, 0,
+       interface_added_sig_id = g_dbus_connection_signal_subscribe(conn,
+                               NULL, BT_MANAGER_INTERFACE, BT_INTERFACES_ADDED, NULL, NULL, 0,
                                __bt_hf_agent_filter_cb, NULL, NULL);
+
+       interface_removed_sig_id = g_dbus_connection_signal_subscribe(conn,
+                               NULL, BT_MANAGER_INTERFACE, BT_INTERFACES_REMOVED, NULL, NULL, 0,
+                               __bt_hf_agent_filter_cb, NULL, NULL);
+
        DBG("-");
        return;
 }
@@ -3097,9 +3103,16 @@ static void __bt_hf_agent_dbus_deinit(void)
        }
 
        if (gdbus_conn) {
-               if (owner_sig_id != -1)
+               if (interface_added_sig_id > 0)
                        g_dbus_connection_signal_unsubscribe(gdbus_conn,
-                                               owner_sig_id);
+                                               interface_added_sig_id);
+
+               if (interface_removed_sig_id > 0)
+                       g_dbus_connection_signal_unsubscribe(gdbus_conn,
+                                               interface_removed_sig_id);
+
+               interface_added_sig_id = 0;
+               interface_removed_sig_id = 0;
 
                g_object_unref(gdbus_conn);
                gdbus_conn = NULL;
index cfe9952..da34405 100644 (file)
@@ -258,6 +258,9 @@ typedef enum {
 #define BT_MANAGER_INTERFACE "org.freedesktop.DBus.ObjectManager"
 #define BT_ADAPTER_INTERFACE   "org.bluez.Adapter1"
 
+#define BT_INTERFACES_ADDED "InterfacesAdded"
+#define BT_INTERFACES_REMOVED "InterfacesRemoved"
+
 #define retv_if(expr, val) \
        do { \
                if (expr) { \
index 323713e..031d16a 100644 (file)
@@ -29,7 +29,8 @@ static char *g_obj_path;
 
 static GDBusConnection *gdbus_conn;
 static GDBusProxy *profile_gproxy;
-static guint owner_sig_id;
+static guint interface_added_sig_id;
+static guint interface_removed_sig_id;
 static guint bluez_device_sig_id;
 static guint name_owner_sig_id;
 
@@ -742,8 +743,12 @@ static void __bt_hid_agent_dbus_init(void)
                __bt_hid_agent_register();
        }
 
-       owner_sig_id = g_dbus_connection_signal_subscribe(conn,
-                               NULL, BT_MANAGER_INTERFACE, NULL, NULL, NULL, 0,
+       interface_added_sig_id = g_dbus_connection_signal_subscribe(conn,
+                               NULL, BT_MANAGER_INTERFACE, BT_INTERFACES_ADDED, NULL, NULL, 0,
+                               __bt_hid_agent_filter_cb, NULL, NULL);
+
+       interface_removed_sig_id = g_dbus_connection_signal_subscribe(conn,
+                               NULL, BT_MANAGER_INTERFACE, BT_INTERFACES_REMOVED, NULL, NULL, 0,
                                __bt_hid_agent_filter_cb, NULL, NULL);
 
        bluez_device_sig_id = g_dbus_connection_signal_subscribe(conn,
@@ -764,9 +769,13 @@ static void __bt_hid_agent_dbus_deinit(void)
        }
 
        if (gdbus_conn) {
-               if (owner_sig_id > 0)
+               if (interface_added_sig_id > 0)
+                       g_dbus_connection_signal_unsubscribe(gdbus_conn,
+                                               interface_added_sig_id);
+
+               if (interface_removed_sig_id > 0)
                        g_dbus_connection_signal_unsubscribe(gdbus_conn,
-                                               owner_sig_id);
+                                               interface_removed_sig_id);
 
                if (bluez_device_sig_id > 0)
                        g_dbus_connection_signal_unsubscribe(gdbus_conn,
@@ -776,7 +785,8 @@ static void __bt_hid_agent_dbus_deinit(void)
                        g_dbus_connection_signal_unsubscribe(gdbus_conn,
                                                name_owner_sig_id);
 
-               owner_sig_id = 0;
+               interface_added_sig_id = 0;
+               interface_removed_sig_id = 0;
                bluez_device_sig_id = 0;
                name_owner_sig_id = 0;
 
index 8149ce6..9a24cb3 100644 (file)
 #define BT_ADAPTER_INTERFACE   "org.bluez.Adapter1"
 
 #define BT_PROPERTIES_INTERFACE "org.freedesktop.DBus.Properties"
+#define BT_INTERFACES_ADDED "InterfacesAdded"
+#define BT_INTERFACES_REMOVED "InterfacesRemoved"
+#define BT_PROPERTY_CHANGED "PropertiesChanged"
+
 #define BLUEZ_MEDIA_TRANSPORT_INTERFACE "org.bluez.MediaTransport1"
 #define BLUEZ_MEDIA_ENDPOINT_INTERFACE "org.bluez.MediaEndpoint1"
 #define BLUEZ_DEVICE_INTERFACE "org.bluez.Device1"