Remove path replacement function
[platform/core/api/media-content.git] / src / media_filter.c
index 985fbbe..049c920 100755 (executable)
@@ -32,7 +32,7 @@ static bool __is_pinyin_needed(void)
        if (pinyin_support) {
                /*Check Language Setting*/
                lang = vconf_get_str(VCONFKEY_LANGSET);
-               media_content_retvm_if(lang == NULL, ret, "Fail to get string of language set");
+               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)) {
@@ -45,167 +45,118 @@ static bool __is_pinyin_needed(void)
        return ret;
 }
 
-static char *__get_order_str(media_content_order_e order_enum)
+static const char *__get_order_str(media_content_order_e order_enum)
 {
        switch (order_enum) {
        case MEDIA_CONTENT_ORDER_ASC:
-               return (char *)"ASC ";
+               return "ASC ";
        case MEDIA_CONTENT_ORDER_DESC:
-               return (char *)"DESC ";
+               return "DESC ";
        default:
-               return (char *)" ";
+               return " ";
        }
 }
 
-static char *__get_collate_str(media_content_collation_e collate_type)
+static const char *__get_collate_str(media_content_collation_e collate_type)
 {
        switch (collate_type) {
        case MEDIA_CONTENT_COLLATE_NOCASE:
-               return (char *)"NOCASE ";
+               return " COLLATE NOCASE ";
        case MEDIA_CONTENT_COLLATE_RTRIM:
-               return (char *)"RTRIM ";
+               return " COLLATE RTRIM ";
        case MEDIA_CONTENT_COLLATE_LOCALIZED:
                if (__is_pinyin_needed())
-                       return (char *)"NOCASE ";
+                       return " COLLATE NOCASE ";
                else
-                       return (char *)"localized ";
-       default: return (char *)" ";
+                       return " COLLATE localized ";
+       default:
+               return " ";
        }
 }
 
-int _media_filter_attribute_generate(filter_h filter, char **generated_condition)
+static bool __check_collate_type(media_content_collation_e collate_type)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_s *_filter = NULL;
-       char tmp_condition[MAX_QUERY_SIZE] = {0, };
-
-       media_content_retvm_if(filter == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid filter");
-       media_content_retvm_if(generated_condition == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid generated_condition");
-
-       _filter = (filter_s*)filter;
-
-       media_content_retvm_if(_filter->condition == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid condition");
-       media_content_retvm_if(_filter->condition_collate_type < MEDIA_CONTENT_COLLATE_DEFAULT ||
-               _filter->condition_collate_type > MEDIA_CONTENT_COLLATE_LOCALIZED, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid condition collate");
-
-       /* make the statment */
-       memset(tmp_condition, 0, sizeof(tmp_condition));
-       SAFE_STRLCAT(tmp_condition, QUERY_KEYWORD_OPEN_BRACKET, sizeof(tmp_condition));
-       SAFE_STRLCAT(tmp_condition, _filter->condition, sizeof(tmp_condition));
-
-       /* Process for filter v1 */
-       if (_filter->is_full_condition == false && _filter->condition_collate_type != MEDIA_CONTENT_COLLATE_DEFAULT) {
-               SAFE_STRLCAT(tmp_condition, QUERY_KEYWORD_COLLATE, sizeof(tmp_condition));
-               SAFE_STRLCAT(tmp_condition, __get_collate_str(_filter->condition_collate_type), sizeof(tmp_condition));
+       switch (collate_type) {
+       case MEDIA_CONTENT_COLLATE_DEFAULT:
+       case MEDIA_CONTENT_COLLATE_NOCASE:
+       case MEDIA_CONTENT_COLLATE_RTRIM:
+       case MEDIA_CONTENT_COLLATE_LOCALIZED:
+               return true;
+       default:
+               return false;
        }
-
-       SAFE_STRLCAT(tmp_condition, QUERY_KEYWORD_BRACKET, sizeof(tmp_condition));
-
-       if (STRING_VALID(tmp_condition))
-               *generated_condition = g_strdup(tmp_condition);
-       else
-               *generated_condition = NULL;
-
-       media_content_sec_debug("Condition : %s", *generated_condition);
-
-       return ret;
 }
 
-int _media_filter_attribute_option_generate(filter_h filter, char **generated_option)
+static bool __check_order_type(media_content_order_e order)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_s *_filter = NULL;
-       char query[DEFAULT_QUERY_SIZE] = {0, };
-       char option[DEFAULT_QUERY_SIZE] = {0, };
-
-       media_content_retvm_if(filter == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid filter");
-
-       _filter = (filter_s*)filter;
-
-       memset(query, 0x00, sizeof(query));
-
-       /* Order by*/
-       if (STRING_VALID(_filter->order_keyword)) {
-               if ((_filter->order_type == MEDIA_CONTENT_ORDER_ASC) || (_filter->order_type == MEDIA_CONTENT_ORDER_DESC)) {
-                       SAFE_STRLCAT(query, QUERY_KEYWORD_ORDER_BY, sizeof(query));
-                       SAFE_STRLCAT(query, _filter->order_keyword, sizeof(query));
-
-                       if (_filter->order_collate_type == MEDIA_CONTENT_COLLATE_NOCASE || _filter->order_collate_type == MEDIA_CONTENT_COLLATE_RTRIM || _filter->order_collate_type == MEDIA_CONTENT_COLLATE_LOCALIZED) {
-                               SAFE_STRLCAT(query, QUERY_KEYWORD_COLLATE, sizeof(query));
-                               SAFE_STRLCAT(query, __get_collate_str(_filter->order_collate_type), sizeof(query));
-                       } else {
-                               SAFE_STRLCAT(query, QUERY_KEYWORD_SPACE, sizeof(query));
-                       }
-                       SAFE_STRLCAT(query, __get_order_str(_filter->order_type), sizeof(query));
-               } else {
-                       SAFE_STRLCAT(query, _filter->order_keyword, sizeof(query));
-               }
+       switch (order) {
+       case MEDIA_CONTENT_ORDER_ASC:
+       case MEDIA_CONTENT_ORDER_DESC:
+       case MEDIA_CONTENT_ORDER_OTHER:
+               return true;
+       default:
+               return false;
        }
+}
 
-       /* offset */
-       SAFE_STRLCAT(query, QUERY_KEYWORD_SPACE, sizeof(query));
+int _media_filter_build_condition(bool is_full, const char *condition, media_content_collation_e collate_type, char **result)
+{
+       content_retip_if_fail(condition);
+       content_retip_if_fail(__check_collate_type(collate_type));
+       content_retip_if_fail(result);
 
-       memset(option, 0, sizeof(option));
-       snprintf(option, sizeof(option), "%s %d, %d", QUERY_KEYWORD_LIMIT, _filter->offset, _filter->count);
+       if (is_full)
+               *result = g_strdup_printf("(%s)", condition);
+       else
+               *result = g_strdup_printf("(%s%s)", condition, __get_collate_str(collate_type));
 
-       SAFE_STRLCAT(query, option, sizeof(query));
+       content_sec_debug("Condition : %s", *result);
 
-       if (STRING_VALID(query)) {
-               *generated_option = g_strdup(query);
-               media_content_sec_debug("Option : %s", *generated_option);
-       } else {
-               *generated_option = NULL;
-       }
-
-       return ret;
+       return MEDIA_CONTENT_ERROR_NONE;
 }
 
-int _media_filter_attribute_option_generate_with_full_query(filter_h filter, char **generated_option)
+int _media_filter_build_option(filter_h filter, char **result)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_s * _filter = NULL;
-       char query[DEFAULT_QUERY_SIZE] = {0, };
-       char option[DEFAULT_QUERY_SIZE] = {0, };
-
-       media_content_retvm_if(filter == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid filter");
-       media_content_retvm_if(generated_option == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid generated_option");
+       filter_s *_filter = (filter_s *)filter;
 
-       _filter = (filter_s*)filter;
+       content_retip_if_fail(filter);
+       content_retip_if_fail(result);
 
-       memset(query, 0, sizeof(query));
-
-       /* Order by*/
-       if (STRING_VALID(_filter->order_keyword)) {
-               SAFE_STRLCAT(query, QUERY_KEYWORD_ORDER_BY, sizeof(query));
-               SAFE_STRLCAT(query, _filter->order_keyword, sizeof(query));
+       if (!STRING_VALID(_filter->order_keyword)) {
+               *result = g_strdup_printf(" LIMIT %d, %d", _filter->offset, _filter->count);
+               return MEDIA_CONTENT_ERROR_NONE;
        }
 
-       /* offset */
-       SAFE_STRLCAT(query, QUERY_KEYWORD_SPACE, sizeof(query));
-
-       memset(option, 0, sizeof(option));
-       snprintf(option, sizeof(option), "%s %d, %d", QUERY_KEYWORD_LIMIT, _filter->offset, _filter->count);
-       SAFE_STRLCAT(query, option, sizeof(query));
+       if (_filter->is_full_order) {
+               *result = g_strdup_printf("ORDER BY %s LIMIT %d, %d", _filter->order_keyword, _filter->offset, _filter->count);
+               return MEDIA_CONTENT_ERROR_NONE;
+       }
 
-       if (STRING_VALID(query)) {
-               *generated_option = g_strdup(query);
-               media_content_sec_debug("Option : %s", *generated_option);
+       if (_filter->order_type == MEDIA_CONTENT_ORDER_ASC || _filter->order_type == MEDIA_CONTENT_ORDER_DESC) {
+               *result = g_strdup_printf("ORDER BY %s%s%s LIMIT %d, %d",
+                       _filter->order_keyword,
+                       __get_collate_str(_filter->order_collate_type),
+                       __get_order_str(_filter->order_type),
+                       _filter->offset,
+                       _filter->count);
        } else {
-               *generated_option = NULL;
+#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 ret;
+       return MEDIA_CONTENT_ERROR_NONE;
 }
 
-
 int media_filter_create(filter_h *filter)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
 
-       media_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));
-       media_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;
@@ -225,297 +176,204 @@ int media_filter_create(filter_h *filter)
 
 int media_filter_destroy(filter_h filter)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_s *_filter = (filter_s*)filter;
+       filter_s *_filter = (filter_s *)filter;
 
-       if (_filter) {
-               SAFE_FREE(_filter->storage_id);
-               SAFE_FREE(_filter->condition);
-               SAFE_FREE(_filter->order_keyword);
-               SAFE_FREE(_filter);
+       content_retip_if_fail(filter);
 
-               ret = MEDIA_CONTENT_ERROR_NONE;
-       } else {
-               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
-               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
+       g_free(_filter->storage_id);
+       g_free(_filter->condition);
+       g_free(_filter->order_keyword);
+       g_free(_filter);
 
-       return ret;
+       return MEDIA_CONTENT_ERROR_NONE;
 }
 
 int media_filter_set_offset(filter_h filter, int offset, int count)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_s *_filter = (filter_s*)filter;
+       filter_s *_filter = (filter_s *)filter;
 
-       if (_filter != NULL) {
-               _filter->offset = offset;
-               _filter->count = count;
-       } else {
-               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
-               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
+       content_retip_if_fail(filter);
 
-       return ret;
+       _filter->offset = offset;
+       _filter->count = count;
+
+       return MEDIA_CONTENT_ERROR_NONE;
 }
 
 int media_filter_set_condition(filter_h filter, const char *condition, media_content_collation_e collate_type)
 {
        int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_s *_filter = (filter_s*)filter;
+       filter_s *_filter = (filter_s *)filter;
 
-       if ((_filter != NULL) && STRING_VALID(condition)
-               && ((collate_type >= MEDIA_CONTENT_COLLATE_DEFAULT) && (collate_type <= MEDIA_CONTENT_COLLATE_LOCALIZED))) {
+       content_retip_if_fail(filter);
+       content_retip_if_fail(STRING_VALID(condition));
+       content_retip_if_fail(__check_collate_type(collate_type));
 
-               _filter->is_full_condition = false;
-
-               if (STRING_VALID(_filter->condition))
-                       SAFE_FREE(_filter->condition);
+       _filter->is_full_condition = false;
+       g_free(_filter->condition);
 
-               char new_condition[MAX_QUERY_SIZE] = {0, };
-               memset(new_condition, 0, sizeof(new_condition));
-               ret = _media_content_replace_path_in_condition(condition, new_condition, TRUE);
-               media_content_retvm_if(!STRING_VALID(new_condition), MEDIA_CONTENT_ERROR_INVALID_OPERATION, "path replacement failed");
+       _filter->condition = g_strdup(condition);
 
-               _filter->condition = strdup(new_condition);
-               media_content_retvm_if(_filter->condition == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+       content_sec_debug("Condition string : %s", _filter->condition);
 
-               media_content_sec_debug("Condition string : %s", _filter->condition);
-
-               _filter->condition_collate_type = collate_type;
-       } else {
-               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
-               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
+       _filter->condition_collate_type = collate_type;
 
        return ret;
 }
 
 int media_filter_set_order(filter_h filter, media_content_order_e order_type, const char *order_keyword, media_content_collation_e collate_type)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_s *_filter = (filter_s*)filter;
+       filter_s *_filter = (filter_s *)filter;
 
-       if ((_filter != NULL) && STRING_VALID(order_keyword)
-               && ((order_type == MEDIA_CONTENT_ORDER_ASC) || (order_type == MEDIA_CONTENT_ORDER_DESC))
-               && ((collate_type >= MEDIA_CONTENT_COLLATE_DEFAULT) && (collate_type <= MEDIA_CONTENT_COLLATE_LOCALIZED))) {
+       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;
+       _filter->is_full_order = false;
 
-               SAFE_FREE(_filter->order_keyword);
+       g_free(_filter->order_keyword);
 
-               _filter->order_keyword = strdup(order_keyword);
-               media_content_retvm_if(_filter->order_keyword == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+       _filter->order_keyword = g_strdup(order_keyword);
+       _filter->order_type = order_type;
+       _filter->order_collate_type = collate_type;
 
-               _filter->order_type = order_type;
-               _filter->order_collate_type = collate_type;
-       } else {
-               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
-               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
-
-       return ret;
+       return MEDIA_CONTENT_ERROR_NONE;
 }
 
 int media_filter_set_storage(filter_h filter, const char *storage_id)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       media_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_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;
 
-       if ((_filter != NULL) && STRING_VALID(storage_id)) {
-               if (STRING_VALID(_filter->storage_id))
-                       SAFE_FREE(_filter->storage_id);
+       content_retip_if_fail(filter);
+       content_retip_if_fail(STRING_VALID(storage_id));
 
-               _filter->storage_id = strdup(storage_id);
-               media_content_retvm_if(_filter->storage_id == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+       g_free(_filter->storage_id);
+       _filter->storage_id = g_strdup(storage_id);
 
-               media_content_sec_debug("storage_id : %s", _filter->storage_id);
-       } else {
-               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
-               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
+       content_sec_debug("storage_id : %s", _filter->storage_id);
 
-       return ret;
+       return MEDIA_CONTENT_ERROR_NONE;
 }
 
 int media_filter_get_offset(filter_h filter, int *offset, int *count)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_s *_filter = (filter_s*)filter;
+       filter_s *_filter = (filter_s *)filter;
 
-       if (_filter) {
-               *offset = _filter->offset;
-               *count = _filter->count;
-       } else {
-               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
-               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
+       content_retip_if_fail(filter);
+       content_retip_if_fail(offset);
+       content_retip_if_fail(count);
 
-       return ret;
+       *offset = _filter->offset;
+       *count = _filter->count;
+
+       return MEDIA_CONTENT_ERROR_NONE;
 }
 
 int media_filter_get_condition(filter_h filter, char **condition, media_content_collation_e *collate_type)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_s *_filter = (filter_s*)filter;
-
-       if (_filter) {
-               if (STRING_VALID(_filter->condition) && _filter->is_full_condition == false) {
-                       char new_condition[MAX_QUERY_SIZE] = {0, };
-                       memset(new_condition, 0, sizeof(new_condition));
-                       ret = _media_content_replace_path_in_condition(_filter->condition, new_condition, FALSE);
-                       media_content_retvm_if(!STRING_VALID(new_condition), MEDIA_CONTENT_ERROR_INVALID_OPERATION, "path replacement failed");
-
-                       *condition = strdup(new_condition);
-                       media_content_retvm_if(*condition == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
-               } else {
-                       *condition = NULL;
-               }
+       filter_s *_filter = (filter_s *)filter;
 
-               *collate_type = _filter->condition_collate_type;
-       } else {
-               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
-               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
+       content_retip_if_fail(filter);
+       content_retip_if_fail(condition);
+       content_retip_if_fail(collate_type);
 
-       return ret;
+       if (!_filter->is_full_condition)
+               *condition = g_strdup(_filter->condition);
+
+       *collate_type = _filter->condition_collate_type;
+
+       return MEDIA_CONTENT_ERROR_NONE;
 }
 
-int media_filter_get_order(filter_h filter, media_content_order_eorder_type, char **order_keyword, media_content_collation_e *collate_type)
+int media_filter_get_order(filter_h filter, media_content_order_e *order_type, char **order_keyword, media_content_collation_e *collate_type)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_s *_filter = (filter_s*)filter;
-
-       if (_filter) {
-               if (STRING_VALID(_filter->order_keyword) && _filter->is_full_order == false) {
-                       *order_keyword = strdup(_filter->order_keyword);
-                       media_content_retvm_if(*order_keyword == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
-               } else {
-                       *order_keyword = NULL;
-               }
+       filter_s *_filter = (filter_s *)filter;
 
-               *order_type = _filter->order_type;
-               *collate_type = _filter->order_collate_type;
-       } else {
-               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
-               ret = MEDIA_CONTENT_ERROR_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);
 
-       return ret;
+       if (!_filter->is_full_order)
+               *order_keyword = g_strdup(_filter->order_keyword);
+
+       *order_type = _filter->order_type;
+       *collate_type = _filter->order_collate_type;
+
+       return MEDIA_CONTENT_ERROR_NONE;
 }
 
 int media_filter_get_storage(filter_h filter, char **storage_id)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       media_content_warn("DEPRECATION WARNING: media_filter_get_storage() is deprecated and will be removed from next release.");
-       filter_s *_filter = (filter_s*)filter;
-
-       if (_filter) {
-               if (STRING_VALID(_filter->storage_id)) {
-                       *storage_id = strdup(_filter->storage_id);
-                       media_content_retvm_if(*storage_id == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
-               } else {
-                       *storage_id = NULL;
-               }
-       } else {
-               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
-               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
+       content_warn("DEPRECATION WARNING: media_filter_get_storage() is deprecated and will be removed from next release.");
+       filter_s *_filter = (filter_s *)filter;
 
-       return ret;
+       content_retip_if_fail(filter);
+       content_retip_if_fail(storage_id);
+
+       *storage_id = g_strdup(_filter->storage_id);
+
+       return MEDIA_CONTENT_ERROR_NONE;
 }
 
 int media_filter_set_condition_v2(filter_h filter, const char *condition)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_s *_filter = (filter_s*)filter;
+       filter_s *_filter = (filter_s *)filter;
 
-       if ((_filter != NULL) && STRING_VALID(condition)) {
-               _filter->is_full_condition = true;
+       content_retip_if_fail(filter);
+       content_retip_if_fail(STRING_VALID(condition));
 
-               if (STRING_VALID(_filter->condition))
-                       SAFE_FREE(_filter->condition);
+       _filter->is_full_condition = true;
 
-               char new_condition[MAX_QUERY_SIZE] = {0, };
-               memset(new_condition, 0, sizeof(new_condition));
-               ret = _media_content_replace_path_in_condition(condition, new_condition, TRUE);
-               media_content_retvm_if(!STRING_VALID(new_condition), MEDIA_CONTENT_ERROR_INVALID_OPERATION, "path replacement failed");
+       g_free(_filter->condition);
 
-               _filter->condition = strdup(new_condition);
-               media_content_retvm_if(_filter->condition == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+       _filter->condition = g_strdup(condition);
 
-               media_content_sec_debug("Condition string : %s", _filter->condition);
-       } else {
-               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
-               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
+       content_sec_debug("Condition string : %s", _filter->condition);
 
-       return ret;
+       return MEDIA_CONTENT_ERROR_NONE;
 }
 
 int media_filter_get_condition_v2(filter_h filter, char **condition)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_s *_filter = (filter_s*)filter;
-
-       if (_filter) {
-               if (STRING_VALID(_filter->condition) && _filter->is_full_condition == true) {
-                       char new_condition[MAX_QUERY_SIZE] = {0, };
-                       memset(new_condition, 0, sizeof(new_condition));
-                       ret = _media_content_replace_path_in_condition(_filter->condition, new_condition, FALSE);
-                       media_content_retvm_if(!STRING_VALID(new_condition), MEDIA_CONTENT_ERROR_INVALID_OPERATION, "path replacement failed");
-
-                       *condition = strdup(new_condition);
-                       media_content_retvm_if(*condition == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
-               } else {
-                       *condition = NULL;
-               }
-       } else {
-               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
-               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
+       filter_s *_filter = (filter_s *)filter;
 
-       return ret;
+       content_retip_if_fail(filter);
+       content_retip_if_fail(condition);
+
+       if (_filter->is_full_condition)
+               *condition = g_strdup(_filter->condition);
+
+       return MEDIA_CONTENT_ERROR_NONE;
 }
 
 int media_filter_set_order_v2(filter_h filter, const char *order)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_s *_filter = (filter_s*)filter;
+       filter_s *_filter = (filter_s *)filter;
 
-       if ((_filter != NULL) && STRING_VALID(order)) {
-               _filter->is_full_order = true;
+       content_retip_if_fail(filter);
+       content_retip_if_fail(STRING_VALID(order));
 
-               SAFE_FREE(_filter->order_keyword);
+       _filter->is_full_order = true;
 
-               _filter->order_keyword = strdup(order);
-               media_content_retvm_if(_filter->order_keyword == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
-       } else {
-               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
-               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
+       g_free(_filter->order_keyword);
+       _filter->order_keyword = g_strdup(order);
 
-       return ret;
+       return MEDIA_CONTENT_ERROR_NONE;
 }
 
 int media_filter_get_order_v2(filter_h filter, char **order)
 {
-       int ret = MEDIA_CONTENT_ERROR_NONE;
-       filter_s *_filter = (filter_s*)filter;
-
-       if (_filter) {
-               if (STRING_VALID(_filter->order_keyword) && _filter->is_full_order == true) {
-                       *order = strdup(_filter->order_keyword);
-                       media_content_retvm_if(*order == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
-               } else {
-                       *order = NULL;
-               }
-       } else {
-               media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
-               ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
-       }
+       filter_s *_filter = (filter_s *)filter;
 
-       return ret;
+       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;
 }