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;
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)
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)