Code cleanup for replacing client handle with receiver 81/235381/2
authorjiyong.min <jiyong.min@samsung.com>
Thu, 4 Jun 2020 06:17:28 +0000 (15:17 +0900)
committerJiyong Min <jiyong.min@samsung.com>
Thu, 4 Jun 2020 07:40:11 +0000 (07:40 +0000)
Change-Id: I52c5cc26eda57cad43f0ef37106c5eece1e79cfe

include/media_controller_private.h
src/media_controller_client.c
src/media_controller_ipc.c

index 340d8996babee4e7515856ba6451a8f716b039e3..39f82eda5a4dd321edf51ba84a81cf5b445047bc 100644 (file)
@@ -282,6 +282,7 @@ typedef struct {
        void *callback;
        void *user_data;
        GList *filter_list;
+       void *db_handle;
 } media_controller_receiver_s;
 
 typedef struct {
index 62183fed37efd76658f483ebe53b9d8c8fce7d2d..aa3de6afe932c5c8493c69ef954b6e157d325db1 100644 (file)
@@ -91,21 +91,19 @@ static void __client_playback_cb(const char *interface_name, const char *signal_
 {
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
        mc_playback_h playback = NULL;
+       media_controller_receiver_s *receiver = (media_controller_receiver_s *)user_data;
+       mc_retm_if_failed(receiver && receiver->callback);
 
-       media_controller_client_s *mc_client = (media_controller_client_s *)user_data;
-       mc_retm_if_failed(mc_client);
-
-       mc_playback_updated_cb callback = (mc_playback_updated_cb)mc_client->updated_cb[MC_CLIENT_EVENT_PLAYBACK_INFO].callback;
-       mc_retm_if_failed(callback);
+       mc_playback_updated_cb callback = (mc_playback_updated_cb)receiver->callback;
        mc_retm_if_failed(message);
 
        mc_secure_debug("__client_playback_cb(%s, %s, %s, %s, %p)", interface_name, signal_name, message, request_id, user_data);
 
-       ret = _mc_db_get_playback_info(mc_client->db_handle, message, &playback);
+       ret = _mc_db_get_playback_info(receiver->db_handle, message, &playback);
        if (ret != MEDIA_CONTROLLER_ERROR_NONE)
                mc_error("Fail to _mc_db_get_playback_info");
 
-       callback(message, playback, mc_client->updated_cb[MC_CLIENT_EVENT_PLAYBACK_INFO].user_data);
+       callback(message, playback, receiver->user_data);
 
        mc_client_destroy_playback(playback);
 }
@@ -114,21 +112,19 @@ static void __client_metadata_cb(const char *interface_name, const char *signal_
 {
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
        mc_metadata_h metadata = NULL;
+       media_controller_receiver_s *receiver = (media_controller_receiver_s *)user_data;
+       mc_retm_if_failed(receiver && receiver->callback);
 
-       media_controller_client_s *mc_client = (media_controller_client_s *)user_data;
-       mc_retm_if_failed(mc_client);
-
-       mc_metadata_updated_cb callback = (mc_metadata_updated_cb)mc_client->updated_cb[MC_CLIENT_EVENT_METADATA].callback;
-       mc_retm_if_failed(callback);
+       mc_metadata_updated_cb callback = (mc_metadata_updated_cb)receiver->callback;
        mc_retm_if_failed(message);
 
        mc_secure_debug("__client_metadata_cb(%s, %s, %s, %s, %p)", interface_name, signal_name, message, request_id, user_data);
 
-       ret = _mc_db_get_metadata_info(mc_client->db_handle, message, &metadata);
+       ret = _mc_db_get_metadata_info(receiver->db_handle, message, &metadata);
        if (ret != MEDIA_CONTROLLER_ERROR_NONE)
                mc_error("Fail to _mc_db_get_metadata_info");
 
-       callback(message, metadata, mc_client->updated_cb[MC_CLIENT_EVENT_METADATA].user_data);
+       callback(message, metadata, receiver->user_data);
 
        mc_metadata_destroy(metadata);
 }
@@ -280,21 +276,19 @@ static void __client_playback_ability_cb(const char *interface_name, const char
 {
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
        mc_playback_ability_h ability = NULL;
+       media_controller_receiver_s *receiver = (media_controller_receiver_s *)user_data;
+       mc_retm_if_failed(receiver && receiver->callback);
 
-       media_controller_client_s *mc_client = (media_controller_client_s *)user_data;
-       mc_retm_if_failed(mc_client);
-
-       mc_playback_ability_updated_cb callback = (mc_playback_ability_updated_cb)mc_client->updated_cb[MC_CLIENT_EVENT_PLAYBACK_ABILITY].callback;
-       mc_retm_if_failed(callback);
+       mc_playback_ability_updated_cb callback = (mc_playback_ability_updated_cb)receiver->callback;
        mc_retm_if_failed(message);
 
        mc_secure_debug("__client_playback_ability_cb(%s, %s, %s, %s, %p)", interface_name, signal_name, message, request_id, user_data);
 
-       ret = _mc_db_get_pb_action_ability(mc_client->db_handle, message, &ability);
+       ret = _mc_db_get_pb_action_ability(receiver->db_handle, message, &ability);
        if (ret != MEDIA_CONTROLLER_ERROR_NONE)
                mc_error("Fail to _mc_db_get_pb_action_ability");
 
-       callback(message, ability, mc_client->updated_cb[MC_CLIENT_EVENT_PLAYBACK_ABILITY].user_data);
+       callback(message, ability, receiver->user_data);
 
        mc_playback_ability_destroy(ability);
 }
@@ -339,21 +333,19 @@ static void __client_display_mode_ability_cb(const char *interface_name, const c
 {
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
        unsigned int ability = 0;
+       media_controller_receiver_s *receiver = (media_controller_receiver_s *)user_data;
+       mc_retm_if_failed(receiver && receiver->callback);
 
-       media_controller_client_s *mc_client = (media_controller_client_s *)user_data;
-       mc_retm_if_failed(mc_client);
-
-       mc_ability_supported_items_updated_cb callback = (mc_ability_supported_items_updated_cb)mc_client->updated_cb[MC_CLIENT_EVENT_DISPLAY_MODE_ABILITY].callback;
-       mc_retm_if_failed(callback);
+       mc_ability_supported_items_updated_cb callback = (mc_ability_supported_items_updated_cb)receiver->callback;
        mc_retm_if_failed(message);
 
        mc_secure_debug("__client_display_mode_ability_cb(%s, %s, %s, %s, %p)", interface_name, signal_name, message, request_id, user_data);
 
-       ret = _mc_db_get_display_mode_ability(mc_client->db_handle, message, &ability);
+       ret = _mc_db_get_display_mode_ability(receiver->db_handle, message, &ability);
        if (ret != MEDIA_CONTROLLER_ERROR_NONE)
                mc_error("Fail to _mc_db_get_display_mode_ability");
 
-       callback(message, ability, mc_client->updated_cb[MC_CLIENT_EVENT_DISPLAY_MODE_ABILITY].user_data);
+       callback(message, ability, receiver->user_data);
 
 }
 
@@ -361,21 +353,19 @@ static void __client_display_rotation_ability_cb(const char *interface_name, con
 {
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
        unsigned int ability = 0;
+       media_controller_receiver_s *receiver = (media_controller_receiver_s *)user_data;
+       mc_retm_if_failed(receiver && receiver->callback);
 
-       media_controller_client_s *mc_client = (media_controller_client_s *)user_data;
-       mc_retm_if_failed(mc_client);
-
-       mc_ability_supported_items_updated_cb callback = (mc_ability_supported_items_updated_cb)mc_client->updated_cb[MC_CLIENT_EVENT_DISPLAY_ROTATION_ABILITY].callback;
-       mc_retm_if_failed(callback);
+       mc_ability_supported_items_updated_cb callback = (mc_ability_supported_items_updated_cb)receiver->callback;
        mc_retm_if_failed(message);
 
        mc_secure_debug("__client_display_rotation_ability_cb(%s, %s, %s, %s, %p)", interface_name, signal_name, message, request_id, user_data);
 
-       ret = _mc_db_get_display_rotation_ability(mc_client->db_handle, message, &ability);
+       ret = _mc_db_get_display_rotation_ability(receiver->db_handle, message, &ability);
        if (ret != MEDIA_CONTROLLER_ERROR_NONE)
                mc_error("Fail to _mc_db_get_display_rotation_ability");
 
-       callback(message, ability, mc_client->updated_cb[MC_CLIENT_EVENT_DISPLAY_ROTATION_ABILITY].user_data);
+       callback(message, ability, receiver->user_data);
 
 }
 
@@ -657,20 +647,19 @@ static int __mc_client_set_updated_cb(mc_client_h client, mc_client_receive_even
        if ((event == MC_CLIENT_EVENT_CMD_REPLY) || (event == MC_CLIENT_EVENT_SERVER_CUSTOM)) {
 #endif
                interface_name = _mc_util_get_interface_name(MC_CLIENT, mc_client->client_name);
-               ret = _mc_ipc_register_listener(&mc_client->listeners, mc_client->dconn, interface_name, cb_event[event].signal_name,
-                                               cb_event[event].cb_func, (void *)&(mc_client->updated_cb[event]));
-
-               g_free(interface_name);
-
        } else if ((event == MC_CLIENT_EVENT_PLAYBACK_INFO) || (event == MC_CLIENT_EVENT_METADATA) || (event == MC_CLIENT_EVENT_PLAYBACK_ABILITY)
                || (event == MC_CLIENT_EVENT_DISPLAY_MODE_ABILITY) || (event == MC_CLIENT_EVENT_DISPLAY_ROTATION_ABILITY)) {
-               ret = _mc_ipc_register_listener(&mc_client->listeners, mc_client->dconn, MC_DBUS_UPDATE_INTERFACE, cb_event[event].signal_name,
-                                               cb_event[event].cb_func, (void *)(mc_client));
+               interface_name = g_strdup(MC_DBUS_UPDATE_INTERFACE);
+               mc_client->updated_cb[event].db_handle = mc_client->db_handle;
        } else {
-               ret = _mc_ipc_register_listener(&mc_client->listeners, mc_client->dconn, MC_DBUS_UPDATE_INTERFACE, cb_event[event].signal_name,
-                                               cb_event[event].cb_func, (void *)&(mc_client->updated_cb[event]));
+               interface_name = g_strdup(MC_DBUS_UPDATE_INTERFACE);
        }
 
+       ret = _mc_ipc_register_listener(&mc_client->listeners, mc_client->dconn, interface_name, cb_event[event].signal_name,
+                                       cb_event[event].cb_func, (void *)&(mc_client->updated_cb[event]));
+
+       g_free(interface_name);
+
        return ret;
 }
 
@@ -698,6 +687,7 @@ static int __mc_client_unset_updated_cb(mc_client_h client, mc_client_receive_ev
        mc_client->updated_cb[event].callback = NULL;
        mc_client->updated_cb[event].user_data = NULL;
        mc_client->updated_cb[event].filter_list = NULL;
+       mc_client->updated_cb[event].db_handle = NULL;
 
        return ret;
 }
@@ -905,13 +895,12 @@ int mc_client_subscribe(mc_client_h client, const mc_subscription_type_e subscri
 
        if (subscription_type == MC_SUBSCRIPTION_TYPE_METADATA || subscription_type == MC_SUBSCRIPTION_TYPE_PLAYBACK_ABILITY
                || subscription_type == MC_SUBSCRIPTION_TYPE_DISPLAY_MODE_ABILITY || subscription_type == MC_SUBSCRIPTION_TYPE_DISPLAY_ROTATION_ABILITY) {
-               ret = __mc_client_register_filter_listener(mc_client, &mc_client->updated_cb[subscription_type].filter_list, server_name, cb_event[subscription_type].signal_name,
-                                       cb_event[subscription_type].cb_func,  (void *)(mc_client));
-       } else {
-               ret = __mc_client_register_filter_listener(mc_client, &mc_client->updated_cb[subscription_type].filter_list, server_name, cb_event[subscription_type].signal_name,
-                                       cb_event[subscription_type].cb_func, (void *)&(mc_client->updated_cb[subscription_type]));
+               mc_client->updated_cb[subscription_type].db_handle = mc_client->db_handle;
        }
 
+       ret = __mc_client_register_filter_listener(mc_client, &mc_client->updated_cb[subscription_type].filter_list, server_name, cb_event[subscription_type].signal_name,
+                               cb_event[subscription_type].cb_func, (void *)&(mc_client->updated_cb[subscription_type]));
+
        return ret;
 }
 
index f5df970b72df88a5534c3f02b5f09bc9b25aa043..2b8b8cd142e1ced4ed5984119578ad6a47d7b93b 100644 (file)
@@ -27,7 +27,7 @@
 typedef struct {
        GDBusConnection                 *dbus_conn;
        mc_signal_received_cb   callback;
-       char                                    *user_data;
+       void                                    *user_data;
        guint                                   handler;
        char                                    *key;
 } mc_ipc_listener_s;