Refactoring of Code to improve SAM score Patch-3 58/280558/2
authorAnuj Jain <anuj01.jain@samsung.com>
Wed, 31 Aug 2022 16:22:02 +0000 (21:52 +0530)
committerAnuj Jain <anuj01.jain@samsung.com>
Fri, 2 Sep 2022 12:18:10 +0000 (17:48 +0530)
Remove duplicated code:

- Add sub function for duplicated code.

Change-Id: I4defc0de7c9f67ef397af58776cd3d04eaf0e7d2
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
bt-service/services/obex/bt-service-pbap.c

index 2dc2a3f6f152b722b3ca6090c9e23c8183eedc61..4e453e2ca88004b36af047c0222ea3f994832cbc 100644 (file)
@@ -1129,19 +1129,11 @@ int _bt_pbap_is_connected(bluetooth_device_address_t *device_address,
        return 0;
 }
 
-int _bt_pbap_get_phonebook_size(const bluetooth_device_address_t *address,
-               int source, int type)
+int _bt_get_pbab_session_info(GDBusProxy **g_pbap_session_proxy)
 {
        BT_DBG("+");
        GDBusConnection *g_conn;
-       GDBusProxy *g_pbap_session_proxy = NULL;
-       char address_string[18] = { 0, };
-       char *source_string = NULL;
-       char *type_string = NULL;
        GError *err = NULL;
-       bt_pbap_data_t *pbap_data = NULL;
-
-       BT_CHECK_PARAMETER(address, return);
 
        /* check if connected */
        if (g_pbap_session_path == NULL) {
@@ -1149,41 +1141,62 @@ int _bt_pbap_get_phonebook_size(const bluetooth_device_address_t *address,
                return BLUETOOTH_ERROR_NOT_CONNECTED;
        }
 
-       BT_DBG("BD Address [%2.2X %2.2X %2.2X %2.2X %2.2X %2.2X]",
-                       address->addr[0], address->addr[1],
-                       address->addr[2], address->addr[3],
-                       address->addr[4], address->addr[5]);
-
-       _bt_convert_addr_type_to_string(address_string, (unsigned char *)address->addr);
-                       BT_DBG("Address String: %s", address_string);
-       source_string = g_strdup(SOURCE[source]);
-       type_string = g_strdup(TYPE[type]);
-
-       BT_DBG("Address[%s] Source[%s] Type[%s]",
-                       address_string, source_string, type_string);
        BT_DBG("Session Path = %s\n", g_pbap_session_path);
 
        g_conn = _bt_get_system_gconn();
        if (g_conn == NULL) {
                BT_ERR("Couldn't connect to session bus");
-               g_free(source_string);
-               g_free(type_string);
                return 0;
        }
-       g_pbap_session_proxy =  g_dbus_proxy_new_sync(g_conn,
+       *g_pbap_session_proxy =  g_dbus_proxy_new_sync(g_conn,
                        G_DBUS_PROXY_FLAGS_NONE, NULL,
                        PBAP_SESSION_SERVICE, g_pbap_session_path,
                        PBAP_SESSION_INTERFACE, NULL, &err);
 
-       if (!g_pbap_session_proxy) {
+       if (!*g_pbap_session_proxy) {
                BT_ERR("Failed to get a proxy for D-Bus\n");
                if (err) {
                        ERR("Unable to create proxy: %s", err->message);
                        g_clear_error(&err);
                }
+               return -1;
+       }
+       return 0;
+}
+
+int _bt_pbap_get_phonebook_size(const bluetooth_device_address_t *address,
+               int source, int type)
+{
+       BT_DBG("+");
+       GDBusProxy *g_pbap_session_proxy = NULL;
+       char address_string[18] = { 0, };
+       char *source_string = NULL;
+       char *type_string = NULL;
+       bt_pbap_data_t *pbap_data = NULL;
+
+       BT_CHECK_PARAMETER(address, return);
+
+       int ret;
+
+       ret = _bt_get_pbab_session_info(&g_pbap_session_proxy);
+
+       BT_DBG("BD Address [%2.2X %2.2X %2.2X %2.2X %2.2X %2.2X]",
+                       address->addr[0], address->addr[1],
+                       address->addr[2], address->addr[3],
+                       address->addr[4], address->addr[5]);
+
+       _bt_convert_addr_type_to_string(address_string, (unsigned char *)address->addr);
+
+       source_string = g_strdup(SOURCE[source]);
+       type_string = g_strdup(TYPE[type]);
+
+       BT_DBG("Address[%s] Source[%s] Type[%s]",
+               address_string, source_string, type_string);
+
+       if (ret != 0 || !(g_pbap_session_proxy)) {
                g_free(source_string);
                g_free(type_string);
-               return -1;
+               return ret;
        }
 
        BT_DBG("Prepare PBAP data");
@@ -1218,23 +1231,18 @@ int _bt_pbap_get_phonebook(const bluetooth_device_address_t *address,
                int source, int type, bt_pbap_pull_parameters_t *app_param)
 {
        BT_DBG("+");
-       GDBusConnection *g_conn;
        GDBusProxy *g_pbap_session_proxy = NULL;
        char address_string[18] = { 0, };
        char *source_string = NULL;
        char *type_string = NULL;
-       GError *err = NULL;
 
        bt_pbap_data_t *pbap_data = NULL;
        bt_pbap_pull_parameters_t *param = NULL;
 
        BT_CHECK_PARAMETER(address, return);
+       int ret;
 
-       /* check if connected */
-       if (g_pbap_session_path == NULL) {
-               BT_ERR("NOT CONNECTED");
-               return BLUETOOTH_ERROR_NOT_CONNECTED;
-       }
+       ret = _bt_get_pbab_session_info(&g_pbap_session_proxy);
 
        BT_DBG("BD Address [%2.2X %2.2X %2.2X %2.2X %2.2X %2.2X]",
                        address->addr[0], address->addr[1],
@@ -1242,37 +1250,17 @@ int _bt_pbap_get_phonebook(const bluetooth_device_address_t *address,
                        address->addr[4], address->addr[5]);
 
        _bt_convert_addr_type_to_string(address_string, (unsigned char *)address->addr);
-               BT_DBG("Address String: %s", address_string);
 
        source_string = g_strdup(SOURCE[source]);
        type_string = g_strdup(TYPE[type]);
 
        BT_DBG("Address[%s] Source[%s] Type[%s]",
-                       address_string, source_string, type_string);
-
-       BT_DBG("Session Path = %s\n", g_pbap_session_path);
-
-       g_conn = _bt_get_system_gconn();
-       if (g_conn == NULL) {
-               BT_ERR("Couldn't connect to session bus");
-               g_free(source_string);
-               g_free(type_string);
-               return 0;
-       }
-       g_pbap_session_proxy =  g_dbus_proxy_new_sync(g_conn,
-                       G_DBUS_PROXY_FLAGS_NONE, NULL,
-                       PBAP_SESSION_SERVICE, g_pbap_session_path,
-                       PBAP_SESSION_INTERFACE, NULL, &err);
+               address_string, source_string, type_string);
 
-       if (!g_pbap_session_proxy) {
-               BT_ERR("Failed to get a proxy for D-Bus\n");
-               if (err) {
-                       ERR("Unable to create proxy: %s", err->message);
-                       g_clear_error(&err);
-               }
+       if (ret != 0 || !(g_pbap_session_proxy)) {
                g_free(source_string);
                g_free(type_string);
-               return -1;
+               return ret;
        }
 
        pbap_data = g_new0(bt_pbap_data_t, 1);
@@ -1396,22 +1384,17 @@ int _bt_pbap_pull_vcard(const bluetooth_device_address_t *address,
                int source, int type, bt_pbap_pull_vcard_parameters_t *app_param)
 {
        BT_DBG("+");
-       GDBusConnection *g_conn;
        GDBusProxy *g_pbap_session_proxy = NULL;
        char address_string[18] = { 0, };
        char *source_string = NULL;
        char *type_string = NULL;
        bt_pbap_data_t *pbap_data = NULL;
        bt_pbap_pull_vcard_parameters_t *param = NULL;
-       GError *err = NULL;
 
        BT_CHECK_PARAMETER(address, return);
+       int ret;
 
-       /* check if connected */
-       if (g_pbap_session_path == NULL) {
-               BT_ERR("NOT CONNECTED");
-               return BLUETOOTH_ERROR_NOT_CONNECTED;
-       }
+       ret = _bt_get_pbab_session_info(&g_pbap_session_proxy);
 
        BT_DBG("BD Address [%2.2X %2.2X %2.2X %2.2X %2.2X %2.2X]",
                        address->addr[0], address->addr[1],
@@ -1419,37 +1402,17 @@ int _bt_pbap_pull_vcard(const bluetooth_device_address_t *address,
                        address->addr[4], address->addr[5]);
 
        _bt_convert_addr_type_to_string(address_string, (unsigned char *)address->addr);
-               BT_DBG("Address String: %s", address_string);
 
        source_string = g_strdup(SOURCE[source]);
        type_string = g_strdup(TYPE[type]);
 
        BT_DBG("Address[%s] Source[%s] Type[%s]",
-                       address_string, source_string, type_string);
-
-       BT_DBG("Session Path = %s\n", g_pbap_session_path);
+               address_string, source_string, type_string);
 
-       g_conn = _bt_get_system_gconn();
-       if (g_conn == NULL) {
-               BT_ERR("Couldn't connect to session bus");
+       if (ret != 0 || !(g_pbap_session_proxy)) {
                g_free(source_string);
                g_free(type_string);
-               return 0;
-       }
-       g_pbap_session_proxy =  g_dbus_proxy_new_sync(g_conn,
-                       G_DBUS_PROXY_FLAGS_NONE, NULL,
-                       PBAP_SESSION_SERVICE, g_pbap_session_path,
-                       PBAP_SESSION_INTERFACE, NULL, &err);
-
-       if (!g_pbap_session_proxy) {
-               BT_ERR("Failed to get a proxy for D-Bus\n");
-               if (err) {
-                       ERR("Unable to create proxy: %s", err->message);
-                       g_clear_error(&err);
-               }
-               g_free(source_string);
-               g_free(type_string);
-               return -1;
+               return ret;
        }
 
        pbap_data = g_new0(bt_pbap_data_t, 1);
@@ -1483,22 +1446,17 @@ int _bt_pbap_phonebook_search(const bluetooth_device_address_t *address,
                int source, int type, bt_pbap_search_parameters_t *app_param)
 {
        BT_DBG("+");
-       GDBusConnection *g_conn;
        GDBusProxy *g_pbap_session_proxy = NULL;
        char address_string[18] = { 0, };
        char *source_string = NULL;
        char *type_string = NULL;
        bt_pbap_data_t *pbap_data = NULL;
        bt_pbap_search_parameters_t *param = NULL;
-       GError *err = NULL;
 
        BT_CHECK_PARAMETER(address, return);
+       int ret;
 
-       /* check if connected */
-       if (g_pbap_session_path == NULL) {
-               BT_ERR("NOT CONNECTED");
-               return BLUETOOTH_ERROR_NOT_CONNECTED;
-       }
+       ret = _bt_get_pbab_session_info(&g_pbap_session_proxy);
 
        BT_DBG("BD Address [%2.2X %2.2X %2.2X %2.2X %2.2X %2.2X]",
                        address->addr[0], address->addr[1],
@@ -1506,37 +1464,17 @@ int _bt_pbap_phonebook_search(const bluetooth_device_address_t *address,
                        address->addr[4], address->addr[5]);
 
        _bt_convert_addr_type_to_string(address_string, (unsigned char *)address->addr);
-               BT_DBG("Address String: %s", address_string);
 
        source_string = g_strdup(SOURCE[source]);
        type_string = g_strdup(TYPE[type]);
 
        BT_DBG("Address[%s] Source[%s] Type[%s]",
-                       address_string, source_string, type_string);
-
-       BT_DBG("Session Path = %s\n", g_pbap_session_path);
+               address_string, source_string, type_string);
 
-       g_conn = _bt_get_system_gconn();
-       if (g_conn == NULL) {
-               BT_ERR("Couldn't connect to session bus");
-               g_free(source_string);
-               g_free(type_string);
-               return 0;
-       }
-       g_pbap_session_proxy =  g_dbus_proxy_new_sync(g_conn,
-                       G_DBUS_PROXY_FLAGS_NONE, NULL,
-                       PBAP_SESSION_SERVICE, g_pbap_session_path,
-                       PBAP_SESSION_INTERFACE, NULL, &err);
-
-       if (!g_pbap_session_proxy) {
-               BT_ERR("Failed to get a proxy for D-Bus\n");
-               if (err) {
-                       ERR("Unable to create proxy: %s", err->message);
-                       g_clear_error(&err);
-               }
+       if (ret != 0 || !(g_pbap_session_proxy)) {
                g_free(source_string);
                g_free(type_string);
-               return -1;
+               return ret;
        }
 
        pbap_data = g_new0(bt_pbap_data_t, 1);