change the return value regarding the checking of server/client 01/202201/1
authorhj kim <backto.kim@samsung.com>
Tue, 19 Feb 2019 10:48:53 +0000 (19:48 +0900)
committerhj kim <backto.kim@samsung.com>
Tue, 26 Mar 2019 05:04:56 +0000 (05:04 +0000)
Change-Id: I536b986fb5fada173d2dff680ccefc0d08acb493
(cherry picked from commit b9f52e269df6915127f9cb3ef8c8022231e483cb)

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

index 589aed8f877af833ed3258b17ae5210ce25da628..17bf557f395dd7a3197fd5f045e9cce9a38c8cbd 100755 (executable)
@@ -23,8 +23,8 @@ int mc_db_connect(void **db_handle);
 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);
-int mc_db_check_server_table_exist(void *handle, const char *server_name, bool *exist);
-int mc_db_check_client_table_exist(void *handle, const char *client_name, bool *exist);
+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);
 
 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,
index e4bdec5c5615485b103433d00179c60c1329e742..7ffec62a16322fa136e16646d5cffda08f63f2c8 100755 (executable)
@@ -538,21 +538,6 @@ static int __mc_client_unregister_filter_listener(media_controller_client_s *mc_
        return ret;
 }
 
-static int __mc_client_check_server(void *db_handle, const char *server_name)
-{
-       int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       bool exist_server = FALSE;
-
-       mc_retvm_if(db_handle == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "db_handle is NULL");
-       mc_retvm_if(!MC_STRING_VALID(server_name), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name");
-
-       ret = mc_db_check_server_table_exist(db_handle, server_name, &exist_server);
-       mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error mc_db_check_server_table_exist [%d]", ret);
-       mc_retvm_if(exist_server == FALSE, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Error Invalid server_name");
-
-       return ret;
-}
-
 static int __mc_client_send_command(mc_client_h client, const char *server_name, const char *command_type, const char *command, const char *signal_name, const char *message, char **request_id)
 {
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
@@ -563,9 +548,7 @@ static int __mc_client_send_command(mc_client_h client, const char *server_name,
        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");
-
-       ret = __mc_client_check_server(mc_client->db_handle, server_name);
-       mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error __mc_client_check_server [%d]", ret);
+       mc_retvm_if(mc_db_is_server_table_exist(mc_client->db_handle, server_name) == FALSE, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name");
 
        ret = mc_util_set_command_available(MC_PRIV_TYPE_CLIENT, mc_client->client_name, command_type, command);
        mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error mc_util_set_command_available [%d]", ret);
@@ -1087,9 +1070,7 @@ int mc_client_get_server_playback_info(mc_client_h client, const char *server_na
 
        mc_retvm_if(mc_client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
        mc_retvm_if(playback == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "playback Handle is NULL");
-
-       ret = __mc_client_check_server(mc_client->db_handle, server_name);
-       mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error __mc_client_check_server [%d]", ret);
+       mc_retvm_if(mc_db_is_server_table_exist(mc_client->db_handle, server_name) == FALSE, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name");
 
        ret = mc_db_get_playback_info(mc_client->db_handle, server_name, playback);
        mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail mc_db_get_playback_info [%d]", ret);
@@ -1104,9 +1085,7 @@ int mc_client_get_server_metadata(mc_client_h client, const char *server_name, m
 
        mc_retvm_if(mc_client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
        mc_retvm_if(metadata == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "metadata Handle is NULL");
-
-       ret = __mc_client_check_server(mc_client->db_handle, server_name);
-       mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error __mc_client_check_server [%d]", ret);
+       mc_retvm_if(mc_db_is_server_table_exist(mc_client->db_handle, server_name) == FALSE, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name");
 
        ret = mc_db_get_metadata_info(mc_client->db_handle, server_name, metadata);
        mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "fail mc_db_get_metadata_info [%d]", ret);
@@ -1121,9 +1100,7 @@ int mc_client_get_server_shuffle_mode(mc_client_h client, const char *server_nam
 
        mc_retvm_if(mc_client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
        mc_retvm_if(mode == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "mode is NULL");
-
-       ret = __mc_client_check_server(mc_client->db_handle, server_name);
-       mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error __mc_client_check_server [%d]", ret);
+       mc_retvm_if(mc_db_is_server_table_exist(mc_client->db_handle, server_name) == FALSE, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name");
 
        ret = mc_db_get_shuffle_mode(mc_client->db_handle, server_name, mode);
 
@@ -1137,9 +1114,7 @@ int mc_client_get_server_repeat_mode(mc_client_h client, const char *server_name
 
        mc_retvm_if(mc_client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
        mc_retvm_if(mode == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "mode is NULL");
-
-       ret = __mc_client_check_server(mc_client->db_handle, server_name);
-       mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error __mc_client_check_server [%d]", ret);
+       mc_retvm_if(mc_db_is_server_table_exist(mc_client->db_handle, server_name) == FALSE, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name");
 
        ret = mc_db_get_repeat_mode(mc_client->db_handle, server_name, mode);
 
@@ -1153,9 +1128,7 @@ int mc_client_get_server_icon(mc_client_h client, const char *server_name, char
 
        mc_retvm_if(mc_client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
        mc_retvm_if(uri == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "uri is NULL");
-
-       ret = __mc_client_check_server(mc_client->db_handle, server_name);
-       mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error __mc_client_check_server [%d]", ret);
+       mc_retvm_if(mc_db_is_server_table_exist(mc_client->db_handle, server_name) == FALSE, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name");
 
        ret = mc_db_get_icon_uri(mc_client->db_handle, server_name, uri);
 
@@ -1464,9 +1437,7 @@ int mc_client_send_search_cmd(mc_client_h client, const char *server_name, mc_se
 
        mc_retvm_if(mc_client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
        mc_retvm_if(!MC_STRING_VALID(server_name), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name");
-
-       ret = __mc_client_check_server(mc_client->db_handle, server_name);
-       mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error __mc_client_check_server [%d]", ret);
+       mc_retvm_if(mc_db_is_server_table_exist(mc_client->db_handle, server_name) == FALSE, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name");
 
        ret = __mc_client_get_bundle_from_search(search, &bundle_data);
        mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error __mc_client_get_bundle_from_search [%d]", ret);
@@ -1522,9 +1493,7 @@ int mc_client_get_server_playback_ability(mc_client_h client, const char *server
 
        mc_retvm_if(client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "client is NULL");
        mc_retvm_if(ability == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "ability is NULL");
-
-       ret = __mc_client_check_server(mc_client->db_handle, server_name);
-       mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error __mc_client_check_server [%d]", ret);
+       mc_retvm_if(mc_db_is_server_table_exist(mc_client->db_handle, server_name) == FALSE, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name");
 
        ret = mc_db_get_pb_action_ability(mc_client->db_handle, server_name, ability);
        mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error mc_db_get_pb_action_ability [%d]", ret);
@@ -1539,9 +1508,7 @@ int mc_client_get_server_shuffle_ability_support(mc_client_h client, const char
 
        mc_retvm_if(client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "client is NULL");
        mc_retvm_if(support == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "supported is NULL");
-
-       ret = __mc_client_check_server(mc_client->db_handle, server_name);
-       mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error __mc_client_check_server [%d]", ret);
+       mc_retvm_if(mc_db_is_server_table_exist(mc_client->db_handle, server_name) == FALSE, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name");
 
        ret = mc_db_get_ability_supported(mc_client->db_handle, server_name, MC_ABILITY_SHUFFLE, support);
        mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error mc_db_get_ability_supported [%d]", ret);
@@ -1556,9 +1523,7 @@ int mc_client_get_server_repeat_ability_support(mc_client_h client, const char *
 
        mc_retvm_if(client == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "client is NULL");
        mc_retvm_if(support == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "supported is NULL");
-
-       ret = __mc_client_check_server(mc_client->db_handle, server_name);
-       mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error __mc_client_check_server [%d]", ret);
+       mc_retvm_if(mc_db_is_server_table_exist(mc_client->db_handle, server_name) == FALSE, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name");
 
        ret = mc_db_get_ability_supported(mc_client->db_handle, server_name, MC_ABILITY_REPEAT, support);
        mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error mc_db_get_ability_supported [%d]", ret);
index 0fa24916e78cc8c74147bbd88f0e06a6d54f0098..633fc998c2dd700f8a9c96582cf4b4d9e0302451 100755 (executable)
@@ -967,7 +967,7 @@ int mc_db_delete_server_table(const char *server_name)
        return ret;
 }
 
-int mc_db_check_server_table_exist(void *handle, const char *server_name, bool *exist)
+gboolean mc_db_is_server_table_exist(void *handle, const char *server_name)
 {
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
        sqlite3 *db_handle = (sqlite3 *)handle;
@@ -975,49 +975,46 @@ int mc_db_check_server_table_exist(void *handle, const char *server_name, bool *
        sqlite3_stmt *stmt = NULL;
        int count = 0;
 
-       mc_retvm_if(handle == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       mc_retvm_if(server_name == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "server_name is NULL");
+       mc_retvm_if(handle == NULL, FALSE, "Handle is NULL");
+       mc_retvm_if(server_name == NULL, FALSE, "server_name is NULL");
 
        mc_debug("server name [%s]", server_name);
 
        sql_str = sqlite3_mprintf("SELECT COUNT(*) FROM SQLITE_MASTER WHERE type='table' and name='%q'", server_name);
-       mc_retvm_if(!MC_STRING_VALID(sql_str), MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "SQL string is null");
+       mc_retvm_if(!MC_STRING_VALID(sql_str), FALSE, "SQL string is null");
 
        ret = sqlite3_prepare_v2(db_handle, sql_str, strlen(sql_str), &stmt, NULL);
        if (SQLITE_OK != ret) {
                mc_error("prepare error [%s]", sqlite3_errmsg(db_handle));
                SQLITE3_SAFE_FREE(sql_str);
-               return MEDIA_CONTROLLER_ERROR_INVALID_OPERATION;
+               return FALSE;
        }
 
+       SQLITE3_SAFE_FREE(sql_str);
+
        ret = sqlite3_step(stmt);
        if (SQLITE_ROW != ret) {
                mc_error("end of row [%s]", sqlite3_errmsg(db_handle));
                SQLITE3_FINALIZE(stmt);
-               SQLITE3_SAFE_FREE(sql_str);
-               return MEDIA_CONTROLLER_ERROR_INVALID_OPERATION;
+               return FALSE;
        }
 
        count = sqlite3_column_int(stmt, 0);
+       SQLITE3_FINALIZE(stmt);
 
        mc_debug("table count [%d]", count);
 
-       if (count > 0) {
-               *exist = TRUE;
-       } else {
+       if (count <= 0) {
                mc_debug("No server info [%s]", server_name);
                mc_db_foreach_server_list(handle, NULL, NULL);
 
-               *exist = FALSE;
+               return FALSE;
        }
 
-       SQLITE3_FINALIZE(stmt);
-       SQLITE3_SAFE_FREE(sql_str);
-
-       return MEDIA_CONTROLLER_ERROR_NONE;
+       return TRUE;
 }
 
-int mc_db_check_client_table_exist(void *handle, const char *client_name, bool *exist)
+gboolean mc_db_is_client_table_exist(void *handle, const char *client_name)
 {
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
        sqlite3 *db_handle = (sqlite3 *)handle;
@@ -1025,46 +1022,43 @@ int mc_db_check_client_table_exist(void *handle, const char *client_name, bool *
        sqlite3_stmt *stmt = NULL;
        int count = 0;
 
-       mc_retvm_if(handle == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       mc_retvm_if(client_name == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "server_name is NULL");
+       mc_retvm_if(handle == NULL, FALSE, "Handle is NULL");
+       mc_retvm_if(client_name == NULL, FALSE, "server_name is NULL");
 
        mc_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), MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "SQL string is null");
+       mc_retvm_if(!MC_STRING_VALID(sql_str), FALSE, "SQL string is null");
 
        ret = sqlite3_prepare_v2(db_handle, sql_str, strlen(sql_str), &stmt, NULL);
        if (SQLITE_OK != ret) {
                mc_error("prepare error [%s]", sqlite3_errmsg(db_handle));
                SQLITE3_SAFE_FREE(sql_str);
-               return MEDIA_CONTROLLER_ERROR_INVALID_OPERATION;
+               return FALSE;
        }
 
+       SQLITE3_SAFE_FREE(sql_str);
+
        ret = sqlite3_step(stmt);
        if (SQLITE_ROW != ret) {
                mc_error("end of row [%s]", sqlite3_errmsg(db_handle));
                SQLITE3_FINALIZE(stmt);
-               SQLITE3_SAFE_FREE(sql_str);
-               return MEDIA_CONTROLLER_ERROR_INVALID_OPERATION;
+               return FALSE;
        }
 
        count = sqlite3_column_int(stmt, 0);
+       SQLITE3_FINALIZE(stmt);
 
        mc_debug("table count [%d]", count);
 
-       if (count > 0) {
-               *exist = TRUE;
-       } else {
+       if (count <= 0) {
                mc_debug("No client info [%s]", client_name);
                mc_db_foreach_client_list(handle, NULL, NULL);
 
-               *exist = FALSE;
+               return FALSE;
        }
 
-       SQLITE3_FINALIZE(stmt);
-       SQLITE3_SAFE_FREE(sql_str);
-
-       return MEDIA_CONTROLLER_ERROR_NONE;
+       return TRUE;
 }
 
 int mc_db_foreach_server_list(void *handle, mc_activated_server_cb callback, void *user_data)
index 2e79a0044ef2fcffd967868d4971a17878f719cf..fd7a8f4847d934f490fdbddcce55345a4f059c86 100755 (executable)
@@ -259,7 +259,6 @@ int mc_playlist_foreach_item(mc_playlist_h playlist, mc_playlist_item_cb callbac
 {
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
        mc_playlist_s *_playlist = (mc_playlist_s*)playlist;
-       bool exist_server = FALSE;
        void* db_handle = NULL;
 
        mc_retvm_if(_playlist == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "invalid playlist");
@@ -268,21 +267,11 @@ int mc_playlist_foreach_item(mc_playlist_h playlist, mc_playlist_item_cb callbac
        ret = mc_db_connect(&db_handle);
        mc_retvm_if(db_handle == NULL, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "fail mc_db_connect [%d]", ret);
 
-       ret = mc_db_check_server_table_exist(db_handle, _playlist->server_name, &exist_server);
-       if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
-               mc_error("Error mc_db_check_server_table_exist [%d]", ret);
-               goto ERROR;
-       }
-
-       if (exist_server == FALSE) {
-               mc_error("Error Invalid server_name");
+       if (mc_db_is_server_table_exist(db_handle, _playlist->server_name) == TRUE)
+               ret = mc_db_get_playlist_item(db_handle, _playlist->server_name, _playlist->playlist_name, callback, user_data);
+       else
                ret = MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER;
-               goto ERROR;
-       }
-
-       ret = mc_db_get_playlist_item(db_handle, _playlist->server_name, _playlist->playlist_name, callback, user_data);
 
-ERROR:
        mc_db_disconnect(db_handle);
 
        return ret;
index 9d2503dfdd8fb76066f2ee67f2330858ba3263af..40c1999981039140099d926292b316e0dd531a98 100755 (executable)
@@ -670,7 +670,6 @@ static int __mc_server_send_event(mc_server_h server, const char *client_name, c
 {
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
        media_controller_server_s *mc_server = (media_controller_server_s *)server;
-       bool exist_server = FALSE;
        char *interface_name = NULL;
 
        mc_retvm_if(mc_server == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
@@ -678,10 +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");
-
-       ret = mc_db_check_client_table_exist(mc_server->db_handle, client_name, &exist_server);
-       mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "Error mc_db_check_client_table_exist [%d]", ret);
-       mc_retvm_if(exist_server == FALSE, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Error Invalid client_name");
+       mc_retvm_if(mc_db_is_client_table_exist(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);
@@ -1390,12 +1386,7 @@ int mc_server_create(mc_server_h *server)
                return ret;
        }
 
-       ret = mc_db_check_server_table_exist(mc_server->db_handle, mc_server->server_name, &table_exist);
-       if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
-               mc_error("mc_db_check_server_table_exist failed [%d]", ret);
-               __mc_server_destoy(mc_server);
-               return ret;
-       }
+       table_exist = mc_db_is_server_table_exist(mc_server->db_handle, mc_server->server_name);
 
        ret = __mc_server_current_is_latest(mc_server, &is_latest);