media_content_debug("list_cnt : [%d]", list_cnt);
- for(idx = 0; idx < list_cnt; idx++)
- {
+ for (idx = 0; idx < list_cnt; idx++) {
item = (media_tag_item_s*)g_list_nth_data(tag_s->item_list, idx);
- if(item != NULL)
- {
+ if (item != NULL) {
SAFE_FREE(item->media_id);
SAFE_FREE(item->tag_name);
SAFE_FREE(item);
int ret = MEDIA_CONTENT_ERROR_NONE;
char *query_str = NULL;
- query_str = sqlite3_mprintf("INSERT INTO %q (tag_id, media_uuid) values (%d, '%q')",
- DB_TABLE_TAG_MAP, tag_id, media_id);
- ret = _content_query_sql(query_str);
- SQLITE3_SAFE_FREE(query_str);
+ query_str = sqlite3_mprintf("INSERT INTO %q (tag_id, media_uuid) values (%d, '%q');", DB_TABLE_TAG_MAP, tag_id, media_id);
+ ret = media_svc_append_query(query_str, _content_get_uid());
- return ret;
+ return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
}
static int __media_tag_remove_item_from_tag(int tag_id, const char *media_id)
char *query_str = NULL;
query_str = sqlite3_mprintf(REMOVE_TAG_ITEM_FROM_TAG_MAP, tag_id, media_id);
+ ret = media_svc_append_query(query_str, _content_get_uid());
- ret = _content_query_sql(query_str);
- SQLITE3_SAFE_FREE(query_str);
-
- return ret;
+ return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
}
static int __media_tag_update_tag_name(int tag_id, const char *tag_name)
char *query_str = NULL;
query_str = sqlite3_mprintf(UPDATE_TAG_NAME_FROM_TAG, tag_name, tag_id);
+ ret = media_svc_append_query(query_str, _content_get_uid());
- ret = _content_query_sql(query_str);
- SQLITE3_SAFE_FREE(query_str);
-
- return ret;
+ return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
}
static int __media_tag_get_tag_info_from_db(const char *name, media_tag_h tag)
int ret = MEDIA_CONTENT_ERROR_NONE;
sqlite3_stmt *stmt = NULL;
char *select_query = NULL;
- int id = 0;
- char *tag_name = NULL;
media_tag_s *_tag = (media_tag_s*)tag;
media_content_retvm_if(_tag == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid tag");
SQLITE3_SAFE_FREE(select_query);
media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
- while(sqlite3_step(stmt) == SQLITE_ROW)
- {
- SAFE_FREE(tag_name);
-
- id = (int)sqlite3_column_int(stmt,0);
- tag_name = g_strdup((const char *)sqlite3_column_text(stmt, 1));
+ if (sqlite3_step(stmt) == SQLITE_ROW) {
+ _tag->tag_id = (int)sqlite3_column_int(stmt, 0);
+ _tag->name = g_strdup((const char *)sqlite3_column_text(stmt, 1));
+ } else {
+ media_content_error("Nonexistent tag name[%s]", name);
+ ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
- _tag->tag_id = id;
- _tag->name = tag_name;
-
SQLITE3_FINALIZE(stmt);
return ret;
int ret = MEDIA_CONTENT_ERROR_NONE;
char *query_str = NULL;
- if(!STRING_VALID(tag_name))
- {
+ if (!STRING_VALID(tag_name)) {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
ret = _content_query_sql(query_str);
SQLITE3_SAFE_FREE(query_str);
- if(ret == MEDIA_CONTENT_ERROR_NONE)
- {
+ if (ret == MEDIA_CONTENT_ERROR_NONE) {
media_tag_s *_tag = (media_tag_s*)calloc(1, sizeof(media_tag_s));
media_content_retvm_if(_tag == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
int ret = MEDIA_CONTENT_ERROR_NONE;
char *query_str = NULL;
- if(tag_id < 0)
- {
+ if (tag_id < 0) {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
{
int ret = MEDIA_CONTENT_ERROR_NONE;
- if(tag_count != NULL)
- {
+ if (tag_count != NULL) {
ret = _media_db_get_group_count(filter, MEDIA_GROUP_TAG, tag_count);
- }
- else
- {
+ } else {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
return ret;
}
-int media_tag_foreach_tag_from_db (filter_h filter, media_tag_cb callback, void *user_data)
+int media_tag_foreach_tag_from_db(filter_h filter, media_tag_cb callback, void *user_data)
{
int ret = MEDIA_CONTENT_ERROR_NONE;
- if(callback == NULL)
- {
+ if (callback == NULL) {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
{
int ret = MEDIA_CONTENT_ERROR_NONE;
- if((tag_id > 0) && (media_count != NULL))
- {
+ if ((tag_id > 0) && (media_count != NULL)) {
ret = _media_db_get_group_item_count_by_id(tag_id, filter, MEDIA_GROUP_TAG, media_count);
- }
- else
- {
+ } else {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
{
int ret = MEDIA_CONTENT_ERROR_NONE;
- if(callback == NULL)
- {
+ if (callback == NULL) {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
{
int ret = MEDIA_CONTENT_ERROR_NONE;
media_tag_s *_tag = (media_tag_s*)tag;
- if(_tag)
- {
+ if (_tag) {
SAFE_FREE(_tag->name);
SAFE_FREE(_tag);
ret = MEDIA_CONTENT_ERROR_NONE;
- }
- else
- {
+ } else {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
return ret;
}
+
int media_tag_clone(media_tag_h *dst, media_tag_h src)
{
int ret = MEDIA_CONTENT_ERROR_NONE;
media_tag_s *_src = (media_tag_s*)src;
media_tag_s *_dst = NULL;
- if((_src != NULL))
- {
+ if ((_src != NULL)) {
_dst = (media_tag_s*)calloc(1, sizeof(media_tag_s));
media_content_retvm_if(_dst == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
_dst->tag_id = _src->tag_id;
- if(STRING_VALID(_src->name))
- {
+ if (STRING_VALID(_src->name)) {
_dst->name = strdup(_src->name);
- if(_dst->name == NULL)
- {
+ if (_dst->name == NULL) {
SAFE_FREE(_dst);
media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
}
*dst = (media_tag_h)_dst;
ret = MEDIA_CONTENT_ERROR_NONE;
- }
- else
- {
+ } else {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
int ret = MEDIA_CONTENT_ERROR_NONE;
media_tag_s *_tag = (media_tag_s*)tag;
- if((_tag != NULL) && (tag_id != NULL))
- {
+ if ((_tag != NULL) && (tag_id != NULL)) {
*tag_id = _tag->tag_id;
ret = MEDIA_CONTENT_ERROR_NONE;
- }
- else
- {
+ } else {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
{
int ret = MEDIA_CONTENT_ERROR_NONE;
media_tag_s *_tag = (media_tag_s*)tag;
- if(_tag)
- {
- if(STRING_VALID(_tag->name))
- {
+ if (_tag) {
+ if (STRING_VALID(_tag->name)) {
*name = strdup(_tag->name);
media_content_retvm_if(*name == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
- }
- else
- {
+ } else {
*name = NULL;
}
ret = MEDIA_CONTENT_ERROR_NONE;
- }
- else
- {
+ } else {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
{
int ret = MEDIA_CONTENT_ERROR_NONE;
sqlite3_stmt *stmt = NULL;
- char select_query[DEFAULT_QUERY_SIZE];
+ char select_query[DEFAULT_QUERY_SIZE] = {0, };
- if(tag_id <= 0)
- {
+ if (tag_id <= 0) {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
media_tag_s *_tag = NULL;
- while(sqlite3_step(stmt) == SQLITE_ROW)
- {
- if(_tag)
- media_tag_destroy((media_tag_h)_tag);
-
+ if (sqlite3_step(stmt) == SQLITE_ROW) {
_tag = (media_tag_s*)calloc(1, sizeof(media_tag_s));
- if(_tag == NULL)
- {
+ if (_tag == NULL) {
SQLITE3_FINALIZE(stmt);
media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
_tag->name = g_strdup((const char *)sqlite3_column_text(stmt, 1));
*tag = (media_tag_h)_tag;
+ } else {
+ media_content_error("Nonexistent tag id[%d]", tag_id);
+ ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
SQLITE3_FINALIZE(stmt);
int ret = MEDIA_CONTENT_ERROR_NONE;
media_tag_s *_tag = (media_tag_s*)tag;
- if((_tag != NULL) && STRING_VALID(media_id))
- {
+ if ((_tag != NULL) && STRING_VALID(media_id)) {
media_tag_item_s *_item = (media_tag_item_s*)calloc(1, sizeof(media_tag_item_s));
media_content_retvm_if(_item == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
_item->media_id = strdup(media_id);
_item->function = MEDIA_TAG_ADD;
- if(_item->media_id == NULL)
- {
+ if (_item->media_id == NULL) {
SAFE_FREE(_item);
media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
}
__media_tag_item_add(_tag, _item);
- }
- else
- {
+ } else {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
int ret = MEDIA_CONTENT_ERROR_NONE;
media_tag_s *_tag = (media_tag_s*)tag;
- if(_tag != NULL && STRING_VALID(media_id))
- {
+ if (_tag != NULL && STRING_VALID(media_id)) {
media_tag_item_s *_item = (media_tag_item_s*)calloc(1, sizeof(media_tag_item_s));
media_content_retvm_if(_item == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
_item->media_id = strdup(media_id);
_item->function = MEDIA_TAG_REMOVE;
- if(_item->media_id == NULL)
- {
+ if (_item->media_id == NULL) {
SAFE_FREE(_item);
media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
}
__media_tag_item_add(_tag, _item);
- }
- else
- {
+ } else {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
return ret;
}
-int media_tag_set_name(media_tag_h tag, char *tag_name)
+int media_tag_set_name(media_tag_h tag, const char *tag_name)
{
int ret = MEDIA_CONTENT_ERROR_NONE;
media_tag_s *_tag = (media_tag_s*)tag;
- if(_tag != NULL && STRING_VALID(tag_name))
- {
+ if (_tag != NULL && STRING_VALID(tag_name)) {
SAFE_FREE(_tag->name);
media_tag_item_s *_item = (media_tag_item_s*)calloc(1, sizeof(media_tag_item_s));
_item->tag_name = strdup(tag_name);
_item->function = MEDIA_TAG_UPDATE_TAG_NAME;
- if(_item->tag_name == NULL)
- {
+ if (_item->tag_name == NULL) {
SAFE_FREE(_item);
media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
}
_tag->name = strdup(tag_name);
- if(_tag->name == NULL)
- {
+ if (_tag->name == NULL) {
SAFE_FREE(_item->tag_name);
SAFE_FREE(_item);
media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
}
__media_tag_item_add(_tag, _item);
- }
- else
- {
+ } else {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
int length = 0;
media_tag_item_s *_tag_item = NULL;
- if(_tag == NULL)
- {
+ if (_tag == NULL) {
media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
}
- if(_tag->item_list != NULL) {
+ if (_tag->item_list != NULL) {
length = g_list_length(_tag->item_list);
} else {
media_content_debug("operation list length is 0");
for (idx = 0; idx < length; idx++) {
_tag_item = (media_tag_item_s*)g_list_nth_data(_tag->item_list, idx);
- if(_tag_item != NULL) {
- switch(_tag_item->function) {
- case MEDIA_TAG_ADD:
- {
- ret = __media_tag_insert_item_to_tag(_tag->tag_id, _tag_item->media_id);
- }
- break;
-
- case MEDIA_TAG_REMOVE:
- {
- ret = __media_tag_remove_item_from_tag(_tag->tag_id, _tag_item->media_id);
- }
- break;
-
- case MEDIA_TAG_UPDATE_TAG_NAME:
- {
- ret = __media_tag_update_tag_name(_tag->tag_id, _tag_item->tag_name);
- }
- break;
-
- default:
- break;
+ if (_tag_item != NULL) {
+ switch (_tag_item->function) {
+ case MEDIA_TAG_ADD:
+ {
+ ret = __media_tag_insert_item_to_tag(_tag->tag_id, _tag_item->media_id);
+ }
+ break;
+
+ case MEDIA_TAG_REMOVE:
+ {
+ ret = __media_tag_remove_item_from_tag(_tag->tag_id, _tag_item->media_id);
+ }
+ break;
+
+ case MEDIA_TAG_UPDATE_TAG_NAME:
+ {
+ ret = __media_tag_update_tag_name(_tag->tag_id, _tag_item->tag_name);
}
+ break;
+
+ default:
+ break;
+ }
+
+ if (ret != MEDIA_CONTENT_ERROR_NONE)
+ media_content_error("Failed some operation[%d]", _tag_item->function);
}
}
+ ret = media_svc_send_query(_content_get_uid());
+
__media_tag_item_release(_tag);
+ return _content_error_capi(MEDIA_CONTENT_TYPE, ret);
+}
+
+int media_tag_create(media_tag_h *tag)
+{
+ int ret = MEDIA_CONTENT_ERROR_NONE;
+
+ media_content_retvm_if(tag == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid tag");
+
+ media_tag_s *_tag = (media_tag_s*)calloc(1, sizeof(media_tag_s));
+ media_content_retvm_if(_tag == NULL, MEDIA_CONTENT_ERROR_OUT_OF_MEMORY, "OUT_OF_MEMORY");
+
+ _tag->tag_id = -1;
+ _tag->name = NULL;
+ _tag->item_list = NULL;
+
+ *tag = (media_tag_h)_tag;
+
return ret;
}
+
+int media_tag_insert_to_db_v2(media_tag_h tag)
+{
+ int ret = MEDIA_CONTENT_ERROR_NONE;
+ media_tag_s *_tag = (media_tag_s*)tag;
+ media_tag_h tag_1;
+ int tag_id = -1;
+
+ media_content_retvm_if(_tag == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid tag");
+ media_content_retvm_if(!STRING_VALID(_tag->name), MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid tag name");
+ media_content_retvm_if(_tag->tag_id != -1, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid tag insert");
+
+ ret = media_tag_insert_to_db(_tag->name, &tag_1);
+ if (ret != MEDIA_CONTENT_ERROR_NONE) {
+ media_content_error("fail media_tag_insert_to_db");
+ goto ERROR;
+ }
+
+ ret = media_tag_get_tag_id(tag_1, &tag_id);
+ if (ret != MEDIA_CONTENT_ERROR_NONE) {
+ media_content_error("fail media_tag_get_tag_id");
+ goto ERROR;
+ }
+
+ _tag->tag_id = tag_id;
+
+ ret = media_tag_update_to_db(tag);
+
+ERROR:
+ __media_tag_item_release(_tag);
+ media_tag_destroy(tag_1);
+
+ return ret;
+}
+
+int media_tag_update_to_db_v2(int tag_id, media_tag_h tag)
+{
+ media_tag_s *_tag = (media_tag_s*)tag;
+
+ media_content_retvm_if(_tag == NULL, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid tag");
+ media_content_retvm_if(tag_id == -1, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "invalid tag update");
+
+ _tag->tag_id = tag_id;
+
+ return media_tag_update_to_db(tag);
+}