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