From: jiyong.min Date: Fri, 30 Nov 2018 02:01:25 +0000 (+0900) Subject: Remove useless parameter and add to check signal unsubscribe X-Git-Tag: accepted/tizen/unified/20181204.063759~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F88%2F194188%2F1;p=platform%2Fcore%2Fapi%2Fmedia-controller.git Remove useless parameter and add to check signal unsubscribe Change-Id: Ia9b18dd12cef978eb3dc0f6dee4756e874eba6be --- diff --git a/include/media_controller_private.h b/include/media_controller_private.h index 0fde065..354d876 100755 --- a/include/media_controller_private.h +++ b/include/media_controller_private.h @@ -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); diff --git a/src/media_controller_client.c b/src/media_controller_client.c index 3f909a0..a26a371 100755 --- a/src/media_controller_client.c +++ b/src/media_controller_client.c @@ -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); diff --git a/src/media_controller_ipc.c b/src/media_controller_ipc.c index ed67847..0932ab3 100755 --- a/src/media_controller_ipc.c +++ b/src/media_controller_ipc.c @@ -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); diff --git a/src/media_controller_server.c b/src/media_controller_server.c index 6b6e464..0c7124a 100755 --- a/src/media_controller_server.c +++ b/src/media_controller_server.c @@ -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);