Remove useless parameter and add to check signal unsubscribe 88/194188/1
authorjiyong.min <jiyong.min@samsung.com>
Fri, 30 Nov 2018 02:01:25 +0000 (11:01 +0900)
committerjiyong.min <jiyong.min@samsung.com>
Fri, 30 Nov 2018 02:02:25 +0000 (11:02 +0900)
Change-Id: Ia9b18dd12cef978eb3dc0f6dee4756e874eba6be

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

index 0fde065..354d876 100755 (executable)
@@ -411,8 +411,8 @@ int mc_safe_strtoull(const char *buffer, unsigned long long *value);
 int mc_ipc_get_dbus_connection(GDBusConnection **conn, int *dref_count);
 int mc_ipc_unref_dbus_connection(GDBusConnection *conn, int *dref_count);
 int mc_ipc_register_listener(GList **manage_list, GDBusConnection *connection, const char *interface_name, const char *signal_name, mc_signal_received_cb callback, void *user_data);
-int mc_ipc_unregister_listener(GList **manage_list, GDBusConnection *connection, const char *interface_name, const char *signal_name);
-int mc_ipc_unregister_all_listener(GList **manage_list, GDBusConnection *connection);
+int mc_ipc_unregister_listener(GList **manage_list, const char *interface_name, const char *signal_name);
+int mc_ipc_unregister_all_listener(GList **manage_list);
 int mc_ipc_send_message(GDBusConnection *connection, const char *dbus_name, const char *interface_name, const char* signal_name, const char* message, char **request_id);
 int mc_ipc_send_reply(GDBusConnection *connection, const char *dbus_name, const char *interface_name, const char *signal_name, const char *message, const char *request_id);
 int mc_ipc_send_message_to_server(mc_msg_type_e msg_type, mc_priv_type_e priv_type, const char *request_msg);
index 3f909a0..a26a371 100755 (executable)
@@ -423,7 +423,7 @@ static int __mc_client_register_filter_listener(media_controller_client_s *mc_cl
                char *filter_data = (char *)g_strdup(server_name);
                if (filter_data == NULL) {
                        mc_debug("memeory allocation failed");
-                       mc_ipc_unregister_listener(&mc_client->listeners, mc_client->dconn, filter_interface_name, signal_name);
+                       mc_ipc_unregister_listener(&mc_client->listeners, filter_interface_name, signal_name);
                        MC_SAFE_FREE(filter_interface_name);
                        return MEDIA_CONTROLLER_ERROR_OUT_OF_MEMORY;
                }
@@ -461,7 +461,7 @@ static int __mc_client_unregister_filter_listener(media_controller_client_s *mc_
                }
 
                /*Unregister listener*/
-               ret = mc_ipc_unregister_listener(&mc_client->listeners, mc_client->dconn, filter_interface_name, signal_name);
+               ret = mc_ipc_unregister_listener(&mc_client->listeners, filter_interface_name, signal_name);
                if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
                        MC_SAFE_FREE(filter_interface_name);
                        return ret;
@@ -493,7 +493,7 @@ static int __mc_client_unregister_filter_listener(media_controller_client_s *mc_
                                mc_debug("[%d][%s]", idx, interface_name);
 
                                /*Unregister listener*/
-                               ret = mc_ipc_unregister_listener(&mc_client->listeners, mc_client->dconn, interface_name, signal_name);
+                               ret = mc_ipc_unregister_listener(&mc_client->listeners, interface_name, signal_name);
                                if (ret != MEDIA_CONTROLLER_ERROR_NONE)
                                        mc_error("Fail mc_ipc_unregister_listener");
 
@@ -634,11 +634,11 @@ static int __mc_client_unset_updated_cb(mc_client_h client, mc_client_receive_ev
        if ((event == MC_CLIENT_EVENT_CMD_REPLY) || (event == MC_CLIENT_EVENT_SERVER_CUSTOM)) {
                interface_name = mc_util_get_interface_name(MC_CLIENT, mc_client->client_name);
 
-               ret = mc_ipc_unregister_listener(&mc_client->listeners, mc_client->dconn, interface_name, cb_event[event].signal_name);
+               ret = mc_ipc_unregister_listener(&mc_client->listeners, interface_name, cb_event[event].signal_name);
 
                MC_SAFE_FREE(interface_name);
        } else {
-               ret = mc_ipc_unregister_listener(&mc_client->listeners, mc_client->dconn, MC_DBUS_UPDATE_INTERFACE, cb_event[event].signal_name);
+               ret = mc_ipc_unregister_listener(&mc_client->listeners, MC_DBUS_UPDATE_INTERFACE, cb_event[event].signal_name);
 
                ret = __mc_client_unregister_filter_listener(mc_client, &mc_client->updated_cb[event].filter_list, NULL, cb_event[event].signal_name);
        }
@@ -769,7 +769,7 @@ int mc_client_subscribe(mc_client_h client, const mc_subscription_type_e subscri
        mc_retvm_if(((subscription_type < MC_SUBSCRIPTION_TYPE_SERVER_STATE) || (subscription_type > MC_SUBSCRIPTION_TYPE_REPEAT_ABILITY)) , MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid subscription_type [%d]", subscription_type);
        mc_retvm_if(mc_client->updated_cb[subscription_type].callback == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid callback");
 
-       ret = mc_ipc_unregister_listener(&mc_client->listeners, mc_client->dconn, MC_DBUS_UPDATE_INTERFACE, cb_event[subscription_type].signal_name);
+       ret = mc_ipc_unregister_listener(&mc_client->listeners, MC_DBUS_UPDATE_INTERFACE, cb_event[subscription_type].signal_name);
 
        if (subscription_type == MC_SUBSCRIPTION_TYPE_METADATA) {
                ret = __mc_client_register_filter_listener(mc_client, &mc_client->updated_cb[subscription_type].filter_list, server_name, cb_event[subscription_type].signal_name,
@@ -1404,7 +1404,7 @@ int mc_client_destroy(mc_client_h client)
        }
 
        /*Unregister all listener*/
-       ret = mc_ipc_unregister_all_listener(&mc_client->listeners, mc_client->dconn);
+       ret = mc_ipc_unregister_all_listener(&mc_client->listeners);
        if (ret != MEDIA_CONTROLLER_ERROR_NONE)
                mc_error("Error mc_ipc_unregister_all_listener [%d]", ret);
 
index ed67847..0932ab3 100755 (executable)
@@ -110,6 +110,9 @@ static guint _mc_ipc_signal_subscribe(GDBusConnection *connection, const char *i
 
 static void _mc_ipc_signal_unsubscribe(GDBusConnection *connection, guint handler)
 {
+       mc_retm_if(connection == NULL, "invalid connection");
+       mc_retm_if(handler == 0, "invalid handler");
+
        g_dbus_connection_signal_unsubscribe(connection, handler);
 }
 
@@ -208,14 +211,13 @@ int mc_ipc_register_listener(GList **listener_list, GDBusConnection *connection,
        return MEDIA_CONTROLLER_ERROR_NONE;
 }
 
-int mc_ipc_unregister_listener(GList **listener_list, GDBusConnection *connection, const char *interface_name, const char *signal_name)
+int mc_ipc_unregister_listener(GList **listener_list, const char *interface_name, const char *signal_name)
 {
        int i = 0;
        int list_len = 0;
        char *key = NULL;
 
        mc_retvm_if(listener_list == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "listener_list is NULL");
-       mc_retvm_if(connection == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "connection is NULL");
        mc_retvm_if(interface_name == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "interface_name is NULL");
        mc_retvm_if(signal_name == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "signal_name is NULL");
 
@@ -226,7 +228,7 @@ int mc_ipc_unregister_listener(GList **listener_list, GDBusConnection *connectio
        for (i = list_len; i >= 0; i--) {
                mc_ipc_listener_s *listener = (mc_ipc_listener_s *)g_list_nth_data(*listener_list, i);
                if (listener && !g_strcmp0(listener->key, key)) {
-                       _mc_ipc_signal_unsubscribe(connection, listener->handler);
+                       _mc_ipc_signal_unsubscribe(listener->dbus_conn, listener->handler);
                        MC_SAFE_FREE(listener->interface_name);
                        MC_SAFE_FREE(listener->signal_name);
                        MC_SAFE_G_FREE(listener->key);
@@ -242,12 +244,11 @@ int mc_ipc_unregister_listener(GList **listener_list, GDBusConnection *connectio
        return MEDIA_CONTROLLER_ERROR_NONE;
 }
 
-int mc_ipc_unregister_all_listener(GList **listener_list, GDBusConnection *connection)
+int mc_ipc_unregister_all_listener(GList **listener_list)
 {
        int i = 0;
        int list_len = 0;
 
-       mc_retvm_if(connection == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "connection is NULL");
        mc_retvm_if(listener_list == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "listener_list is NULL");
 
        list_len = g_list_length(*listener_list) - 1;
@@ -256,7 +257,7 @@ int mc_ipc_unregister_all_listener(GList **listener_list, GDBusConnection *conne
                mc_ipc_listener_s *listener = (mc_ipc_listener_s *)g_list_nth_data(*listener_list, i);
                if (listener) {
                        mc_debug("listener[%s] is unregistered. listener_cnt[%d]", listener->key, g_list_length(*listener_list));
-                       _mc_ipc_signal_unsubscribe(connection, listener->handler);
+                       _mc_ipc_signal_unsubscribe(listener->dbus_conn, listener->handler);
                        MC_SAFE_FREE(listener->interface_name);
                        MC_SAFE_FREE(listener->signal_name);
                        MC_SAFE_G_FREE(listener->key);
index 6b6e464..0c7124a 100755 (executable)
@@ -978,7 +978,7 @@ static int __mc_server_unset_updated_cb(mc_server_h server, mc_server_receive_ev
 
        interface_name = mc_util_get_interface_name(MC_SERVER, mc_server->server_name);
 
-       ret = mc_ipc_unregister_listener(&mc_server->listeners, mc_server->dconn, interface_name, cb_event[event].signal_name);
+       ret = mc_ipc_unregister_listener(&mc_server->listeners, interface_name, cb_event[event].signal_name);
 
        mc_server->updated_cb[event].callback = NULL;
        mc_server->updated_cb[event].user_data = NULL;
@@ -1322,7 +1322,7 @@ int mc_server_destroy(mc_server_h server)
 
        mc_retvm_if(mc_server == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
 
-       ret = mc_ipc_unregister_all_listener(&mc_server->listeners, mc_server->dconn);
+       ret = mc_ipc_unregister_all_listener(&mc_server->listeners);
        if (ret != MEDIA_CONTROLLER_ERROR_NONE)
                mc_error("fail mc_ipc_unregister_all_listener [%d]", ret);