Add and Modify APIs for checking activated server/client 41/202241/1
authorhj kim <backto.kim@samsung.com>
Thu, 7 Mar 2019 00:46:50 +0000 (09:46 +0900)
committerhj kim <backto.kim@samsung.com>
Tue, 26 Mar 2019 07:56:20 +0000 (07:56 +0000)
Change-Id: I0db4b4ada69d78dc4ca30173d79def5a02fae8cb
(cherry picked from commit fdd578641e6f98e9627352e66222752e16f7548d)

include/media_controller_db.h
src/media_controller_db.c
src/media_controller_server.c

index 17bf557f395dd7a3197fd5f045e9cce9a38c8cbd..8bfe351bcf04ab3bf17d1113c5cd1b93f5383f61 100755 (executable)
@@ -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,
index b8fd54eee515c9429398203045e43627b97b46be..7e2174b7bd4b0618b868d42d6bcd0cf6249f6257 100644 (file)
@@ -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;
index f6f390d6416d4a983bb929d0119d17c6547ac7d2..598ff90cbc01f984ac808b33d95c938a90d91718 100755 (executable)
@@ -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);