+#else
+int _media_db_get_group_count(filter_h filter, group_list_e group_type, int *group_count)
+{
+ int ret = MEDIA_CONTENT_ERROR_NONE;
+ sqlite3_stmt *stmt = NULL;
+ char select_query[MAX_QUERY_SIZE] = {0, };
+ char *condition_query = NULL;
+ char *option_query = NULL;
+ filter_s *_filter = (filter_s*)filter;
+
+ memset(select_query, 0x00, sizeof(select_query));
+
+ switch (group_type) {
+ case MEDIA_GROUP_NONE:
+ case MEDIA_GROUP_TAG_BY_MEDIA_ID:
+ case MEDIA_GROUP_BOOKMARK_BY_MEDIA_ID:
+ case MEDIA_GROUP_FACE_BY_MEDIA_ID:
+ {
+ media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
+ return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
+ }
+ break;
+ case MEDIA_GROUP_ALBUM:
+ if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
+ snprintf(select_query, sizeof(select_query), SELECT_ALBUM_COUNT_BY_STORAGE_ID, _filter->storage_id);
+ else
+ snprintf(select_query, sizeof(select_query), SELECT_ALBUM_COUNT);
+
+ break;
+ case MEDIA_GROUP_FOLDER:
+ if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
+ snprintf(select_query, sizeof(select_query), SELECT_FOLDER_COUNT_BY_STORAGE_ID, _filter->storage_id);
+ else
+ snprintf(select_query, sizeof(select_query), SELECT_FOLDER_COUNT);
+
+ break;
+ case MEDIA_GROUP_PLAYLIST:
+ if (!SAFE_STRLCPY(select_query, SELECT_PLAYLIST_COUNT, sizeof(select_query))) {
+ media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
+ return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
+ }
+ break;
+ case MEDIA_GROUP_TAG:
+ if (!SAFE_STRLCPY(select_query, SELECT_TAG_COUNT, sizeof(select_query))) {
+ media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
+ return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
+ }
+ break;
+ case MEDIA_GROUP_BOOKMARK:
+ if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
+ snprintf(select_query, sizeof(select_query), SELECT_BOOKMARK_COUNT_BY_STORAGE_ID, _filter->storage_id);
+ else
+ snprintf(select_query, sizeof(select_query), SELECT_BOOKMARK_COUNT);
+
+ break;
+ case MEDIA_GROUP_STORAGE:
+ if (!SAFE_STRLCPY(select_query, SELECT_STORAGE_COUNT, sizeof(select_query))) {
+ media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
+ return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
+ }
+ break;
+ case MEDIA_GROUP_FACE:
+ if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
+ snprintf(select_query, sizeof(select_query), SELECT_FACE_COUNT_BY_STORAGE_ID, _filter->storage_id);
+ else
+ snprintf(select_query, sizeof(select_query), SELECT_FACE_COUNT);
+ break;
+ default:
+ {
+ media_content_error("Invalid group type [%d]", group_type);
+ return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
+ }
+ break;
+ }
+
+ ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
+
+ ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
+ SAFE_FREE(condition_query);
+ SAFE_FREE(option_query);
+ media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
+
+ if (sqlite3_step(stmt) == SQLITE_ROW)
+ *group_count = (int)sqlite3_column_int(stmt, 0);
+
+ SQLITE3_FINALIZE(stmt);
+
+ return ret;
+}
+
+int _media_db_get_media_group_count(media_group_e group, filter_h filter, int *group_count)
+{
+ int ret = MEDIA_CONTENT_ERROR_NONE;
+ sqlite3_stmt *stmt = NULL;
+ char select_query[MAX_QUERY_SIZE] = {0, };
+ char *condition_query = NULL;
+ char *option_query = NULL;
+ filter_s *_filter = (filter_s*)filter;
+
+ memset(select_query, 0x00, sizeof(select_query));
+ if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
+ snprintf(select_query, sizeof(select_query), SELECT_MEDIA_GROUP_COUNT_BY_STORAGE_ID, __media_db_get_group_name(group), _filter->storage_id);
+ else
+ snprintf(select_query, sizeof(select_query), SELECT_MEDIA_GROUP_COUNT, __media_db_get_group_name(group));
+
+ ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
+
+ SAFE_STRLCAT(select_query, QUERY_KEYWORD_SPACE, sizeof(select_query));
+ if (STRING_VALID(condition_query))
+ SAFE_STRLCAT(select_query, condition_query, sizeof(select_query));
+ if (STRING_VALID(option_query))
+ SAFE_STRLCAT(select_query, option_query, sizeof(select_query));
+ SAFE_STRLCAT(select_query, QUERY_KEYWORD_BRACKET, sizeof(select_query));
+
+ SAFE_FREE(condition_query);
+ SAFE_FREE(option_query);
+
+ ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
+ SAFE_FREE(condition_query);
+ SAFE_FREE(option_query);
+ media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
+
+ if (sqlite3_step(stmt) == SQLITE_ROW)
+ *group_count = (int)sqlite3_column_int(stmt, 0);
+
+ SQLITE3_FINALIZE(stmt);
+
+ return ret;
+}
+
+int _media_db_get_media_group(media_group_e group, filter_h filter, media_group_cb callback, void *user_data)
+{
+ int ret = MEDIA_CONTENT_ERROR_NONE;
+ char select_query[MAX_QUERY_SIZE] = {0, };
+ char *condition_query = NULL;
+ char *option_query = NULL;
+ char *name = NULL;
+ sqlite3_stmt *stmt = NULL;
+ filter_s *_filter = (filter_s*)filter;
+ memset(select_query, 0x00, sizeof(select_query));
+
+ if ((_filter != NULL) && STRING_VALID(_filter->storage_id))
+ snprintf(select_query, sizeof(select_query), SELECT_MEDIA_GROUP_LIST_BY_STORAGE_ID, __media_db_get_group_name(group), _filter->storage_id);
+ else
+ snprintf(select_query, sizeof(select_query), SELECT_MEDIA_GROUP_LIST, __media_db_get_group_name(group));
+
+ ret = __media_db_make_query(filter, select_query, sizeof(select_query), &condition_query, &option_query);
+ media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
+
+ ret = _content_query_prepare(select_query, condition_query, option_query, &stmt);
+ SAFE_FREE(condition_query);
+ SAFE_FREE(option_query);
+ media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
+
+ while (sqlite3_step(stmt) == SQLITE_ROW) {
+ name = g_strdup((const char *)sqlite3_column_text(stmt, 0));
+
+ if (callback(name, user_data) == false) {
+ SAFE_FREE(name);
+ break;
+ }
+
+ SAFE_FREE(name);
+ }
+
+ SQLITE3_FINALIZE(stmt);
+
+ return ret;
+}