return MEDIA_CONTROLLER_ERROR_NONE;
}
+static int __mc_db_get_count(void *handle, const char *sql_str)
+{
+ int ret = MEDIA_CONTROLLER_ERROR_NONE;
+ sqlite3 *db_handle = (sqlite3 *)handle;
+ sqlite3_stmt *stmt = NULL;
+ int count = 0;
+
+ mc_retvm_if(handle == NULL, 0, "invalid handle");
+ mc_retvm_if(sql_str == NULL, 0, "invalid sql_str");
+
+ ret = sqlite3_prepare_v2(db_handle, sql_str, strlen(sql_str), &stmt, NULL);
+ mc_retvm_if(SQLITE_OK != ret, 0, "prepare error [%s]", sqlite3_errmsg(db_handle));
+
+ ret = sqlite3_step(stmt);
+ if (SQLITE_ROW != ret)
+ mc_error("end of row [%s]", sqlite3_errmsg(db_handle));
+ else
+ count = sqlite3_column_int(stmt, 0);
+
+ SQLITE3_FINALIZE(stmt);
+
+ return count;
+}
+
int mc_db_update_playback_info(const char *server_name, const media_controller_playback_s playback)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
int mc_db_get_playlist_by_name(void *handle, mc_priv_type_e type, const char *controller_name, const char *playlist_name, mc_playlist_h *playlist)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
- sqlite3 *db_handle = (sqlite3 *)handle;
char *sql_str = NULL;
- sqlite3_stmt *stmt = NULL;
int count = 0;
mc_retvm_if(handle == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
sql_str = sqlite3_mprintf("SELECT COUNT(*) FROM '%q' WHERE server_name = %Q AND playlist_name = %Q", MC_DB_TABLE_PLAYLIST, controller_name, playlist_name);
mc_retvm_if(!MC_STRING_VALID(sql_str), MEDIA_CONTROLLER_ERROR_INVALID_OPERATION, "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;
- }
-
- 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;
- }
-
- count = sqlite3_column_int(stmt, 0);
+ count = __mc_db_get_count(handle, sql_str);
+ SQLITE3_SAFE_FREE(sql_str);
if (count > 0) {
mc_playlist_s *_playlist = (mc_playlist_s *)calloc(1, sizeof(mc_playlist_s));
ret = MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER;
}
- SQLITE3_FINALIZE(stmt);
- SQLITE3_SAFE_FREE(sql_str);
-
return ret;
}
gboolean mc_db_is_server_table_exist(void *handle, const char *server_name)
{
- int ret = MEDIA_CONTROLLER_ERROR_NONE;
- sqlite3 *db_handle = (sqlite3 *)handle;
char *sql_str = NULL;
- sqlite3_stmt *stmt = NULL;
int count = 0;
mc_retvm_if(handle == NULL, FALSE, "Handle is NULL");
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), 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 FALSE;
- }
-
+ count = __mc_db_get_count(handle, sql_str);
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);
- return FALSE;
- }
-
- count = sqlite3_column_int(stmt, 0);
- SQLITE3_FINALIZE(stmt);
-
mc_debug("table count [%d]", count);
if (count <= 0) {
gboolean mc_db_is_client_table_exist(void *handle, const char *client_name)
{
- int ret = MEDIA_CONTROLLER_ERROR_NONE;
- sqlite3 *db_handle = (sqlite3 *)handle;
char *sql_str = NULL;
- sqlite3_stmt *stmt = NULL;
int count = 0;
mc_retvm_if(handle == NULL, FALSE, "Handle is NULL");
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");
- 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 FALSE;
- }
-
+ count = __mc_db_get_count(handle, sql_str);
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);
- return FALSE;
- }
-
- count = sqlite3_column_int(stmt, 0);
- SQLITE3_FINALIZE(stmt);
-
mc_debug("table count [%d]", count);
if (count <= 0) {