#include <media_info_private.h>
#include <media_util_private.h>
-#include <vconf.h>
-
-static bool __is_pinyin_needed(void)
-{
- char *lang = NULL;
- const char *china = "zh_CN";
- const char *hongkong = "zh_HK";
- int ret = FALSE;
-
- /*Check CSC first*/
- bool pinyin_support = FALSE;
- media_svc_check_pinyin_support(&pinyin_support);
- if (pinyin_support) {
- /*Check Language Setting*/
- lang = vconf_get_str(VCONFKEY_LANGSET);
- content_retvm_if(lang == NULL, ret, "Fail to get string of language set");
-
- if ((strncmp(china, lang, strlen(china)) == 0) ||
- (strncmp(hongkong, lang, strlen(hongkong)) == 0)) {
- ret = TRUE;
- }
-
- SAFE_FREE(lang);
- }
-
- return ret;
-}
static const char *__get_order_str(media_content_order_e order_enum)
{
case MEDIA_CONTENT_COLLATE_RTRIM:
return " COLLATE RTRIM ";
case MEDIA_CONTENT_COLLATE_LOCALIZED:
- if (__is_pinyin_needed())
- return " COLLATE NOCASE ";
- else
- return " COLLATE localized ";
+ return " COLLATE localized ";
default:
return " ";
}
int _media_filter_build_condition(bool is_full, const char *condition, media_content_collation_e collate_type, char **result)
{
- content_retvm_if(!result, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid result");
- content_retvm_if(!STRING_VALID(condition), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid condition");
- content_retvm_if(!__check_collate_type(collate_type), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid collate_type");
+ content_retip_if_fail(condition);
+ content_retip_if_fail(__check_collate_type(collate_type));
+ content_retip_if_fail(result);
if (is_full)
*result = g_strdup_printf("(%s)", condition);
{
filter_s *_filter = (filter_s *)filter;
- content_retvm_if(!_filter, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid filter");
- content_retvm_if(!result, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid result");
+ content_retip_if_fail(filter);
+ content_retip_if_fail(result);
if (!STRING_VALID(_filter->order_keyword)) {
*result = g_strdup_printf(" LIMIT %d, %d", _filter->offset, _filter->count);
_filter->offset,
_filter->count);
} else {
+#ifdef _USE_TVPD_MODE
*result = g_strdup_printf("%s LIMIT %d, %d", _filter->order_keyword, _filter->offset, _filter->count);
+#else
+ *result = g_strdup_printf("ORDER BY %s LIMIT %d, %d", _filter->order_keyword, _filter->offset, _filter->count);
+#endif
}
return MEDIA_CONTENT_ERROR_NONE;
{
int ret = MEDIA_CONTENT_ERROR_NONE;
- content_retvm_if(filter == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid filter");
+ content_retip_if_fail(filter);
- filter_s *_filter = (filter_s *)calloc(1, sizeof(filter_s));
- content_retvm_if(_filter == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+ filter_s *_filter = g_new0(filter_s, 1);
_filter->storage_id = NULL;
_filter->condition = NULL;
int media_filter_destroy(filter_h filter)
{
filter_s *_filter = (filter_s *)filter;
- content_retvm_if(!_filter, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid filter");
- SAFE_FREE(_filter->storage_id);
- SAFE_FREE(_filter->condition);
- SAFE_FREE(_filter->order_keyword);
- SAFE_FREE(_filter);
+ content_retip_if_fail(filter);
+
+ g_free(_filter->storage_id);
+ g_free(_filter->condition);
+ g_free(_filter->order_keyword);
+ g_free(_filter);
return MEDIA_CONTENT_ERROR_NONE;
}
int media_filter_set_offset(filter_h filter, int offset, int count)
{
filter_s *_filter = (filter_s *)filter;
- content_retvm_if(!_filter, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid filter");
+
+ content_retip_if_fail(filter);
_filter->offset = offset;
_filter->count = count;
{
int ret = MEDIA_CONTENT_ERROR_NONE;
filter_s *_filter = (filter_s *)filter;
- content_retvm_if(!_filter, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid filter");
- content_retvm_if(!STRING_VALID(condition), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid condition");
- content_retvm_if(!__check_collate_type(collate_type), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid collate_type");
- _filter->is_full_condition = false;
- SAFE_FREE(_filter->condition);
+ content_retip_if_fail(filter);
+ content_retip_if_fail(STRING_VALID(condition));
+ content_retip_if_fail(__check_collate_type(collate_type));
- _filter->condition = _media_content_replace_path_in_condition(condition);
+ _filter->is_full_condition = false;
+ g_free(_filter->condition);
- /* FIXME
- If an error is occured in _media_content_replace_path_in_condition(),
- A suitable return value is 'MEDIA_CONTENT_ERROR_INVALID_OPERATION'.
- However, it is not stated in the description of media_filter_set_condition().
- Therefore, use 'MEDIA_CONTENT_ERROR_OUT_OF_MEMORY' temporarily.
- It will be modified after removing _media_content_replace_path_in_condition() function.
- */
- content_retvm_if(_filter->condition == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "Fail to set condition");
+ _filter->condition = g_strdup(condition);
content_sec_debug("Condition string : %s", _filter->condition);
int media_filter_set_order(filter_h filter, media_content_order_e order_type, const char *order_keyword, media_content_collation_e collate_type)
{
filter_s *_filter = (filter_s *)filter;
- content_retvm_if(!_filter, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid filter");
- content_retvm_if(!STRING_VALID(order_keyword), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid order_keyword");
- content_retvm_if(!__check_order_type(order_type), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid order_type");
- content_retvm_if(!__check_collate_type(collate_type), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid collate_type");
+
+ content_retip_if_fail(filter);
+ content_retip_if_fail(STRING_VALID(order_keyword));
+ content_retip_if_fail(__check_order_type(order_type));
+ content_retip_if_fail(__check_collate_type(collate_type));
_filter->is_full_order = false;
- SAFE_FREE(_filter->order_keyword);
+
+ g_free(_filter->order_keyword);
_filter->order_keyword = g_strdup(order_keyword);
_filter->order_type = order_type;
return MEDIA_CONTENT_ERROR_NONE;
}
-
+#ifdef _USE_TVPD_MODE
int media_filter_set_storage(filter_h filter, const char *storage_id)
{
- content_warn("DEPRECATION WARNING: media_filter_set_storage() is deprecated and will be removed from next release. Use media_filter_set_condition() with MEDIA_PATH keyword instead.");
filter_s *_filter = (filter_s *)filter;
- content_retvm_if(!_filter || !STRING_VALID(storage_id), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
- SAFE_FREE(_filter->storage_id);
+ content_retip_if_fail(filter);
+ content_retip_if_fail(STRING_VALID(storage_id));
+ g_free(_filter->storage_id);
_filter->storage_id = g_strdup(storage_id);
+
content_sec_debug("storage_id : %s", _filter->storage_id);
return MEDIA_CONTENT_ERROR_NONE;
}
-
+#endif
int media_filter_get_offset(filter_h filter, int *offset, int *count)
{
filter_s *_filter = (filter_s *)filter;
- content_retvm_if(!_filter || !offset || !count, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
+
+ content_retip_if_fail(filter);
+ content_retip_if_fail(offset);
+ content_retip_if_fail(count);
*offset = _filter->offset;
*count = _filter->count;
int media_filter_get_condition(filter_h filter, char **condition, media_content_collation_e *collate_type)
{
filter_s *_filter = (filter_s *)filter;
- content_retvm_if(!_filter, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid _filter");
- content_retvm_if(!condition, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid condition");
- content_retvm_if(!collate_type, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid collate_type");
+
+ content_retip_if_fail(filter);
+ content_retip_if_fail(condition);
+ content_retip_if_fail(collate_type);
if (!_filter->is_full_condition)
*condition = g_strdup(_filter->condition);
int media_filter_get_order(filter_h filter, media_content_order_e *order_type, char **order_keyword, media_content_collation_e *collate_type)
{
filter_s *_filter = (filter_s *)filter;
- content_retvm_if(!_filter || !order_type, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
- content_retvm_if(!order_keyword || !collate_type, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
+
+ content_retip_if_fail(filter);
+ content_retip_if_fail(order_type);
+ content_retip_if_fail(order_keyword);
+ content_retip_if_fail(collate_type);
if (!_filter->is_full_order)
*order_keyword = g_strdup(_filter->order_keyword);
return MEDIA_CONTENT_ERROR_NONE;
}
-int media_filter_get_storage(filter_h filter, char **storage_id)
+int media_filter_set_condition_v2(filter_h filter, const char *condition)
{
- content_warn("DEPRECATION WARNING: media_filter_get_storage() is deprecated and will be removed from next release.");
filter_s *_filter = (filter_s *)filter;
- content_retvm_if(!_filter || !storage_id, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
- *storage_id = g_strdup(_filter->storage_id);
+ content_retip_if_fail(filter);
+ content_retip_if_fail(STRING_VALID(condition));
- return MEDIA_CONTENT_ERROR_NONE;
-}
+ _filter->is_full_condition = true;
-int media_filter_set_condition_v2(filter_h filter, const char *condition)
-{
- filter_s *_filter = (filter_s *)filter;
- content_retvm_if(!_filter || !STRING_VALID(condition), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
+ g_free(_filter->condition);
- _filter->is_full_condition = true;
- SAFE_FREE(_filter->condition);
-
- /* FIXME
- If an error is occured in _media_content_replace_path_in_condition(),
- A suitable return value is 'MEDIA_CONTENT_ERROR_INVALID_OPERATION'.
- However, it is not stated in the description of media_filter_set_condition().
- Therefore, use 'MEDIA_CONTENT_ERROR_OUT_OF_MEMORY' temporarily.
- It will be modified after removing _media_content_replace_path_in_condition() function.
- */
- _filter->condition = _media_content_replace_path_in_condition(condition);
- content_retvm_if(_filter->condition == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "Fail to set condition");
+ _filter->condition = g_strdup(condition);
content_sec_debug("Condition string : %s", _filter->condition);
int media_filter_get_condition_v2(filter_h filter, char **condition)
{
filter_s *_filter = (filter_s *)filter;
- content_retvm_if(!_filter || !condition, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
+
+ content_retip_if_fail(filter);
+ content_retip_if_fail(condition);
if (_filter->is_full_condition)
*condition = g_strdup(_filter->condition);
int media_filter_set_order_v2(filter_h filter, const char *order)
{
filter_s *_filter = (filter_s *)filter;
- content_retvm_if(!_filter || !STRING_VALID(order), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
+
+ content_retip_if_fail(filter);
+ content_retip_if_fail(STRING_VALID(order));
_filter->is_full_order = true;
- SAFE_FREE(_filter->order_keyword);
+ g_free(_filter->order_keyword);
_filter->order_keyword = g_strdup(order);
return MEDIA_CONTENT_ERROR_NONE;
int media_filter_get_order_v2(filter_h filter, char **order)
{
filter_s *_filter = (filter_s *)filter;
- content_retvm_if(!_filter || !order, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Invalid parameter");
+
+ content_retip_if_fail(filter);
+ content_retip_if_fail(order);
if (_filter->is_full_order)
*order = g_strdup(_filter->order_keyword);
return MEDIA_CONTENT_ERROR_NONE;
}
-