Add common TDS method call function 25/247625/1
authorWootak Jung <wootak.jung@samsung.com>
Fri, 13 Nov 2020 01:34:22 +0000 (10:34 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Fri, 13 Nov 2020 01:37:34 +0000 (10:37 +0900)
Change-Id: I6b45814ec4cfcc3f6e10996616cab49603fc0809
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
bt-oal/bluez_hal/src/bt-hal-tds-dbus-handler.c

index f98732b..95a90f2 100644 (file)
@@ -30,7 +30,7 @@
 #include "bt-hal-dbus-common-utils.h"
 #include "bt-hal-tds-dbus-handler.h"
 
-bt_status_t _bt_hal_tds_register_provider()
+static bt_status_t __bt_hal_tds_provider_method_call(const char *method, GVariant *param)
 {
        GDBusConnection *gconn;
        char *adapter_path;
@@ -53,8 +53,8 @@ bt_status_t _bt_hal_tds_register_provider()
        if (provider_proxy == NULL)
                return BT_STATUS_FAIL;
 
-       result = g_dbus_proxy_call_sync(provider_proxy, "RegisterTdsProvider",
-                       NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
+       result = g_dbus_proxy_call_sync(provider_proxy, method,
+                       param, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
        if (result == NULL) {
                if (error != NULL) {
                        ERR("Error occured in Proxy call [%s]\n", error->message);
@@ -68,63 +68,22 @@ bt_status_t _bt_hal_tds_register_provider()
        return BT_STATUS_SUCCESS;
 }
 
-bt_status_t _bt_hal_tds_unregister_provider()
+bt_status_t _bt_hal_tds_register_provider()
 {
-       GDBusConnection *gconn;
-       char *adapter_path;
-       GDBusProxy *provider_proxy;
-       GVariant *result;
-       GError *error = NULL;
-
-       gconn = _bt_hal_get_system_gconn();
-       if (gconn == NULL)
-               return  BT_STATUS_FAIL;
-
-       adapter_path = _bt_hal_get_adapter_path();
-       if (adapter_path == NULL)
-               return BT_STATUS_FAIL;
-
-       provider_proxy = g_dbus_proxy_new_sync(gconn, G_DBUS_PROXY_FLAGS_NONE,
-                       NULL, BT_HAL_BLUEZ_NAME, adapter_path,
-                       BT_HAL_TDS_PROVIDER_INTERFACE,  NULL, NULL);
-       g_free(adapter_path);
-       if (provider_proxy == NULL)
-               return BT_STATUS_FAIL;
-
-       result = g_dbus_proxy_call_sync(provider_proxy, "UnregisterTdsProvider",
-                       NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
-       if (result == NULL) {
-               if (error != NULL) {
-                       ERR("Error occured in Proxy call [%s]\n", error->message);
-                       g_error_free(error);
-               }
-               g_object_unref(provider_proxy);
-               return BT_STATUS_FAIL;
-       }
-       g_variant_unref(result);
+       return __bt_hal_tds_provider_method_call("RegisterTdsProvider", NULL);
+}
 
-       return BT_STATUS_SUCCESS;
+bt_status_t _bt_hal_tds_unregister_provider()
+{
+       return __bt_hal_tds_provider_method_call("UnregisterTdsProvider", NULL);
 }
 
 bt_status_t _bt_hal_tds_set_block_data(unsigned char *data, unsigned int data_len)
 {
-       GDBusConnection *gconn;
-       char *adapter_path;
-       GDBusProxy *provider_proxy;
-       GVariant *result;
-       GError *error = NULL;
        GVariantBuilder *builder;
        GVariant *temp;
        int i;
 
-       gconn = _bt_hal_get_system_gconn();
-       if (gconn == NULL)
-               return  BT_STATUS_FAIL;
-
-       adapter_path = _bt_hal_get_adapter_path();
-       if (adapter_path == NULL)
-               return BT_STATUS_FAIL;
-
        /* Create block data */
        builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
        for (i = 0; i < data_len; i++)
@@ -132,49 +91,16 @@ bt_status_t _bt_hal_tds_set_block_data(unsigned char *data, unsigned int data_le
        temp = g_variant_new("ay", builder);
        g_variant_builder_unref(builder);
 
-       provider_proxy = g_dbus_proxy_new_sync(gconn, G_DBUS_PROXY_FLAGS_NONE,
-                       NULL, BT_HAL_BLUEZ_NAME, adapter_path,
-                       BT_HAL_TDS_PROVIDER_INTERFACE,  NULL, NULL);
-       g_free(adapter_path);
-       if (provider_proxy == NULL)
-               return BT_STATUS_FAIL;
-
-       result = g_dbus_proxy_call_sync(provider_proxy, "SetTdsBlockData",
-                       g_variant_new("(@ay)", temp),
-                       G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
-       if (result == NULL) {
-               if (error != NULL) {
-                       ERR("Error occured in Proxy call [%s]\n", error->message);
-                       g_error_free(error);
-               }
-               g_object_unref(provider_proxy);
-               return BT_STATUS_FAIL;
-       }
-       g_variant_unref(result);
-
-       return BT_STATUS_SUCCESS;
+       return __bt_hal_tds_provider_method_call("SetTdsBlockData", g_variant_new("(@ay)", temp));
 }
 
 bt_status_t _bt_hal_tds_send_activation_response(unsigned char response,
                unsigned char *data, unsigned int data_len)
 {
-       GDBusConnection *gconn;
-       char *adapter_path;
-       GDBusProxy *provider_proxy;
-       GVariant *result;
-       GError *error = NULL;
        GVariantBuilder *builder;
        GVariant *temp;
        int i;
 
-       gconn = _bt_hal_get_system_gconn();
-       if (gconn == NULL)
-               return  BT_STATUS_FAIL;
-
-       adapter_path = _bt_hal_get_adapter_path();
-       if (adapter_path == NULL)
-               return BT_STATUS_FAIL;
-
        /* Create response data */
        builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
        for (i = 0; i < data_len; i++)
@@ -182,25 +108,5 @@ bt_status_t _bt_hal_tds_send_activation_response(unsigned char response,
        temp = g_variant_new("ay", builder);
        g_variant_builder_unref(builder);
 
-       provider_proxy = g_dbus_proxy_new_sync(gconn, G_DBUS_PROXY_FLAGS_NONE,
-                       NULL, BT_HAL_BLUEZ_NAME, adapter_path,
-                       BT_HAL_TDS_PROVIDER_INTERFACE,  NULL, NULL);
-       g_free(adapter_path);
-       if (provider_proxy == NULL)
-               return BT_STATUS_FAIL;
-
-       result = g_dbus_proxy_call_sync(provider_proxy, "TdsActivationResponse",
-                       g_variant_new("(y@ay)", response, temp),
-                       G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
-       if (result == NULL) {
-               if (error != NULL) {
-                       ERR("Error occured in Proxy call [%s]\n", error->message);
-                       g_error_free(error);
-               }
-               g_object_unref(provider_proxy);
-               return BT_STATUS_FAIL;
-       }
-       g_variant_unref(result);
-
-       return BT_STATUS_SUCCESS;
+       return __bt_hal_tds_provider_method_call("TdsActivationResponse", g_variant_new("(y@ay)", response, temp));
 }