From: hj kim Date: Thu, 7 Mar 2019 00:46:50 +0000 (+0900) Subject: Add and Modify APIs for checking activated server/client X-Git-Tag: submit/tizen_5.0/20190404.023255~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bf67ea1c9f119f3e9d9a075fe99dc1d93b6ab98f;p=platform%2Fcore%2Fapi%2Fmedia-controller.git Add and Modify APIs for checking activated server/client Change-Id: I0db4b4ada69d78dc4ca30173d79def5a02fae8cb (cherry picked from commit fdd578641e6f98e9627352e66222752e16f7548d) --- diff --git a/include/media_controller_db.h b/include/media_controller_db.h index 17bf557..8bfe351 100755 --- a/include/media_controller_db.h +++ b/include/media_controller_db.h @@ -24,8 +24,8 @@ int mc_db_disconnect(void *db_handle); int mc_db_create_server_table(const char *server_name); int mc_db_delete_server_table(const char *server_name); gboolean mc_db_is_server_table_exist(void *handle, const char *server_name); -gboolean mc_db_is_client_table_exist(void *handle, const char *client_name); - +gboolean _mc_db_is_activated_client(void *handle, const char *client_name); +gboolean _mc_db_is_activated_server(void *handle, const char *server_name); int mc_db_update_playback_info(const char *table_name, const media_controller_playback_s playback); int mc_db_update_whole_metadata(const char *server_name, const char *title, const char *artist, const char *album, const char *author, const char *genre, const char *duration, const char *date, diff --git a/src/media_controller_db.c b/src/media_controller_db.c index b8fd54e..7e2174b 100644 --- a/src/media_controller_db.c +++ b/src/media_controller_db.c @@ -969,15 +969,15 @@ gboolean mc_db_is_server_table_exist(void *handle, const char *server_name) return TRUE; } -gboolean mc_db_is_client_table_exist(void *handle, const char *client_name) +gboolean _mc_db_is_activated_client(void *handle, const char *client_name) { char *sql_str = NULL; int count = 0; mc_retvm_if(handle == NULL, FALSE, "Handle is NULL"); - mc_retvm_if(client_name == NULL, FALSE, "server_name is NULL"); + mc_retvm_if(client_name == NULL, FALSE, "client_name is NULL"); - mc_debug("client name [%s]", client_name); + mc_secure_debug("client name [%s]", client_name); sql_str = sqlite3_mprintf("SELECT COUNT(*) FROM '%q' WHERE client_name='%q'", MC_DB_TABLE_CLIENT_LIST, client_name); mc_retvm_if(!MC_STRING_VALID(sql_str), FALSE, "SQL string is null"); @@ -985,10 +985,8 @@ gboolean mc_db_is_client_table_exist(void *handle, const char *client_name) count = __mc_db_get_count(handle, sql_str); SQLITE3_SAFE_FREE(sql_str); - mc_debug("table count [%d]", count); - if (count <= 0) { - mc_debug("No client info [%s]", client_name); + mc_secure_error("[%s] is not activated", client_name); mc_db_foreach_client_list(handle, NULL, NULL); return FALSE; @@ -997,6 +995,32 @@ gboolean mc_db_is_client_table_exist(void *handle, const char *client_name) return TRUE; } +gboolean _mc_db_is_activated_server(void *handle, const char *server_name) +{ + char *sql_str = NULL; + int count = 0; + + mc_retvm_if(handle == NULL, FALSE, "Handle is NULL"); + mc_retvm_if(server_name == NULL, FALSE, "server_name is NULL"); + + mc_secure_debug("server name [%s]", server_name); + + sql_str = sqlite3_mprintf("SELECT COUNT(*) FROM '%q' WHERE server_name='%q'", MC_DB_TABLE_SERVER_LIST, server_name); + mc_retvm_if(!MC_STRING_VALID(sql_str), FALSE, "SQL string is null"); + + count = __mc_db_get_count(handle, sql_str); + SQLITE3_SAFE_FREE(sql_str); + + if (count <= 0) { + mc_secure_error("[%s] is not activated", server_name); + mc_db_foreach_server_list(handle, NULL, NULL); + + return FALSE; + } + + return TRUE; +} + int mc_db_foreach_server_list(void *handle, mc_activated_server_cb callback, void *user_data) { int ret = MEDIA_CONTROLLER_ERROR_NONE; diff --git a/src/media_controller_server.c b/src/media_controller_server.c index f6f390d..598ff90 100755 --- a/src/media_controller_server.c +++ b/src/media_controller_server.c @@ -677,7 +677,7 @@ static int __mc_server_send_event(mc_server_h server, const char *client_name, c mc_retvm_if(!MC_STRING_VALID(command_type), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid command_type"); mc_retvm_if(!MC_STRING_VALID(signal_name), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid signal_name"); mc_retvm_if(!MC_STRING_VALID(message), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid message"); - mc_retvm_if(mc_db_is_client_table_exist(mc_server->db_handle, client_name) == FALSE, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid client_name"); + mc_retvm_if(_mc_db_is_activated_client(mc_server->db_handle, client_name) == FALSE, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid client_name"); ret = mc_util_set_command_available(MC_PRIV_TYPE_SERVER, mc_server->server_name, command_type, event); mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error mc_util_set_command_available [%d]", ret);