From: hj kim Date: Tue, 14 Jan 2020 00:22:22 +0000 (+0900) Subject: updating duplicated code regarding getting value from db X-Git-Tag: submit/tizen/20200115.071738~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=60fdffbc97eabb3cbbcad1a562fff7e10ae899b5;p=platform%2Fcore%2Fapi%2Fmedia-controller.git updating duplicated code regarding getting value from db Change-Id: Iafd589a36cbfed804c4bb2eb114223097cb76fd5 --- diff --git a/src/media_controller_db.c b/src/media_controller_db.c index 7bef16e..a773ea3 100644 --- a/src/media_controller_db.c +++ b/src/media_controller_db.c @@ -52,6 +52,42 @@ static int __mc_db_get_record(sqlite3 *handle, char *sql_str, sqlite3_stmt **stm return MEDIA_CONTROLLER_ERROR_NONE; } +static int __mc_db_get_int_value(sqlite3 *handle, const char *server_name, const char *column, int *value) +{ + int ret = MEDIA_CONTROLLER_ERROR_NONE; + char *sql_str = NULL; + sqlite3_stmt *stmt = NULL; + + mc_retvm_if(!server_name, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name"); + mc_retvm_if(!column, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "Invalid column"); + mc_retvm_if(!value, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid value"); + + sql_str = sqlite3_mprintf("SELECT %Q FROM %q WHERE name=%Q", column, MC_DB_TABLE_SERVER_INFO, server_name); + + ret = __mc_db_get_record(handle, sql_str, &stmt); + mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "__mc_db_get_record failed [%d]", ret); + + *value = sqlite3_column_int(stmt, 0); + SQLITE3_FINALIZE(stmt); + + return MEDIA_CONTROLLER_ERROR_NONE; +} + +static int __mc_db_get_bool_value(sqlite3 *handle, const char *server_name, const char *column, bool *value) +{ + int ret = MEDIA_CONTROLLER_ERROR_NONE; + int int_val = 0; + + mc_retvm_if(!value, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid value"); + + ret = __mc_db_get_int_value(handle, server_name, column, &int_val); + mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "__mc_db_get_int_value failed [%d]", ret); + + *value = (bool)int_val; + + return ret; +} + int _mc_db_update_playback_info(const char *server_name, const media_controller_playback_s playback) { int ret = MEDIA_CONTROLLER_ERROR_NONE; @@ -272,45 +308,14 @@ int _mc_db_get_metadata_info(sqlite3 *handle, const char *server_name, mc_metada return ret; } - int _mc_db_get_shuffle_mode(sqlite3 *handle, const char *server_name, mc_shuffle_mode_e *mode) { - int ret = MEDIA_CONTROLLER_ERROR_NONE; - char *sql_str = NULL; - sqlite3_stmt *stmt = NULL; - - mc_retvm_if(!server_name, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name"); - mc_retvm_if(!mode, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid mode"); - - sql_str = sqlite3_mprintf("SELECT shuffle_mode FROM %q WHERE name=%Q", MC_DB_TABLE_SERVER_INFO, server_name); - - ret = __mc_db_get_record(handle, sql_str, &stmt); - mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "__mc_db_get_record failed [%d]", ret); - - *mode = sqlite3_column_int(stmt, 0); - SQLITE3_FINALIZE(stmt); - - return MEDIA_CONTROLLER_ERROR_NONE; + return __mc_db_get_int_value(handle, server_name, "shuffle_mode", (int *)mode); } int _mc_db_get_repeat_mode(sqlite3 *handle, const char *server_name, mc_repeat_mode_e *mode) { - int ret = MEDIA_CONTROLLER_ERROR_NONE; - char *sql_str = NULL; - sqlite3_stmt *stmt = NULL; - - mc_retvm_if(!server_name, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name"); - mc_retvm_if(!mode, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid mode"); - - sql_str = sqlite3_mprintf("SELECT repeat_mode FROM %q WHERE name=%Q", MC_DB_TABLE_SERVER_INFO, server_name); - - ret = __mc_db_get_record(handle, sql_str, &stmt); - mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "__mc_db_get_record failed [%d]", ret); - - *mode = sqlite3_column_int(stmt, 0); - SQLITE3_FINALIZE(stmt); - - return MEDIA_CONTROLLER_ERROR_NONE; + return __mc_db_get_int_value(handle, server_name, "repeat_mode", (int *)mode); } int _mc_db_get_icon_uri(sqlite3 *handle, const char *server_name, char **uri) @@ -953,82 +958,22 @@ int _mc_db_get_int_value(sqlite3 *handle, const char *server_name, const char *c int _mc_db_get_subtitles_enabled(sqlite3 *handle, const char *server_name, bool *enabled) { - int ret = MEDIA_CONTROLLER_ERROR_NONE; - char *sql_str = NULL; - sqlite3_stmt *stmt = NULL; - - mc_retvm_if(!server_name, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name"); - mc_retvm_if(!enabled, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid enabled"); - - sql_str = sqlite3_mprintf("SELECT subtitles_mode FROM %q WHERE name=%Q", MC_DB_TABLE_SERVER_INFO, server_name); - - ret = __mc_db_get_record(handle, sql_str, &stmt); - mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "__mc_db_get_record failed [%d]", ret); - - *enabled = sqlite3_column_int(stmt, 0); - SQLITE3_FINALIZE(stmt); - - return MEDIA_CONTROLLER_ERROR_NONE; + return __mc_db_get_bool_value(handle, server_name, "subtitles_mode", enabled); } int _mc_db_get_360_mode_enabled(sqlite3 *handle, const char *server_name, bool *enabled) { - int ret = MEDIA_CONTROLLER_ERROR_NONE; - char *sql_str = NULL; - sqlite3_stmt *stmt = NULL; - - mc_retvm_if(!server_name, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name"); - mc_retvm_if(!enabled, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid enabled"); - - sql_str = sqlite3_mprintf("SELECT spherical_mode FROM %q WHERE name=%Q", MC_DB_TABLE_SERVER_INFO, server_name); - - ret = __mc_db_get_record(handle, sql_str, &stmt); - mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "__mc_db_get_record failed [%d]", ret); - - *enabled = sqlite3_column_int(stmt, 0); - SQLITE3_FINALIZE(stmt); - - return MEDIA_CONTROLLER_ERROR_NONE; + return __mc_db_get_bool_value(handle, server_name, "spherical_mode", enabled); } int _mc_db_get_display_mode(sqlite3 *handle, const char *server_name, mc_display_mode_e *mode) { - int ret = MEDIA_CONTROLLER_ERROR_NONE; - char *sql_str = NULL; - sqlite3_stmt *stmt = NULL; - - mc_retvm_if(!server_name, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name"); - mc_retvm_if(!mode, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid mode"); - - sql_str = sqlite3_mprintf("SELECT display_mode FROM %q WHERE name=%Q", MC_DB_TABLE_SERVER_INFO, server_name); - - ret = __mc_db_get_record(handle, sql_str, &stmt); - mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "__mc_db_get_record failed [%d]", ret); - - *mode = sqlite3_column_int(stmt, 0); - SQLITE3_FINALIZE(stmt); - - return MEDIA_CONTROLLER_ERROR_NONE; + return __mc_db_get_int_value(handle, server_name, "display_mode", (int *)mode); } int _mc_db_get_display_rotation(sqlite3 *handle, const char *server_name, mc_display_rotation_e *rotation) { - int ret = MEDIA_CONTROLLER_ERROR_NONE; - char *sql_str = NULL; - sqlite3_stmt *stmt = NULL; - - mc_retvm_if(!server_name, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid server_name"); - mc_retvm_if(!rotation, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Invalid rotation"); - - sql_str = sqlite3_mprintf("SELECT display_rotation FROM %q WHERE name=%Q", MC_DB_TABLE_SERVER_INFO, server_name); - - ret = __mc_db_get_record(handle, sql_str, &stmt); - mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "__mc_db_get_record failed [%d]", ret); - - *rotation = sqlite3_column_int(stmt, 0); - SQLITE3_FINALIZE(stmt); - - return MEDIA_CONTROLLER_ERROR_NONE; + return __mc_db_get_int_value(handle, server_name, "display_rotation", (int *)rotation); } int _mc_db_get_ability(sqlite3 *handle, const char *server_name, unsigned long long *decided, unsigned long long *supported)