2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #include <media_content.h>
19 #include <media_info_private.h>
20 #include <media-svc.h>
23 int media_bookmark_insert_to_db(const char *media_id, time_t time, const char *thumbnail_path)
25 int ret = MEDIA_CONTENT_ERROR_NONE;
28 if(STRING_VALID(media_id))
30 sql = sqlite3_mprintf(INSERT_BOOKMARK_TO_BOOKMARK, media_id, time, thumbnail_path);
31 ret = _content_query_sql(sql);
36 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
37 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
43 int media_bookmark_delete_from_db(int bookmark_id)
45 int ret = MEDIA_CONTENT_ERROR_NONE;
46 char *query_str = NULL;
50 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
51 return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
54 query_str = sqlite3_mprintf(DELETE_BOOKMARK_FROM_BOOKMARK, bookmark_id);
56 ret = _content_query_sql(query_str);
58 sqlite3_free(query_str);
63 int media_bookmark_get_bookmark_count_from_db(filter_h filter, int *bookmark_count)
65 int ret = MEDIA_CONTENT_ERROR_NONE;
67 media_content_debug_func();
69 if (bookmark_count == NULL)
71 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
72 return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
75 ret = _media_db_get_group_count(filter, MEDIA_GROUP_BOOKMARK, bookmark_count);
80 int media_bookmark_destroy(media_bookmark_h bookmark)
82 int ret = MEDIA_CONTENT_ERROR_NONE;
83 media_bookmark_s *_bookmark = (media_bookmark_s*)bookmark;
87 SAFE_FREE(_bookmark->media_id);
88 SAFE_FREE(_bookmark->thumbnail_path);
90 ret = MEDIA_CONTENT_ERROR_NONE;
94 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
95 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
100 int media_bookmark_clone(media_bookmark_h *dst, media_bookmark_h src)
102 int ret = MEDIA_CONTENT_ERROR_NONE;
106 media_bookmark_s *_src = (media_bookmark_s*)src;
107 media_bookmark_s *_dst = (media_bookmark_s*)calloc(1, sizeof(media_bookmark_s));
111 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
112 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
115 _dst->bookmark_id = _src->bookmark_id;
117 if(STRING_VALID(_src->media_id))
119 _dst->media_id = (char*)strdup(_src->media_id);
120 if(_dst->media_id == NULL)
122 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
123 media_bookmark_destroy((media_bookmark_h)_dst);
124 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
128 _dst->marked_time = _src->marked_time;
130 if(STRING_VALID(_src->thumbnail_path))
132 _dst->thumbnail_path = (char*)strdup(_src->thumbnail_path);
133 if(_dst->thumbnail_path == NULL)
135 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
136 media_bookmark_destroy((media_bookmark_h)_dst);
137 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
141 *dst = (media_bookmark_h)_dst;
143 ret = MEDIA_CONTENT_ERROR_NONE;
147 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
148 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
154 int media_bookmark_get_bookmark_id(media_bookmark_h bookmark, int *bookmark_id)
156 int ret = MEDIA_CONTENT_ERROR_NONE;
157 media_bookmark_s *_bookmark = (media_bookmark_s*)bookmark;
161 *bookmark_id = _bookmark->bookmark_id;
162 ret = MEDIA_CONTENT_ERROR_NONE;
166 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
167 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
173 int media_bookmark_get_marked_time(media_bookmark_h bookmark, time_t* marked_time)
175 int ret = MEDIA_CONTENT_ERROR_NONE;
176 media_bookmark_s *_bookmark = (media_bookmark_s*)bookmark;
180 *marked_time = _bookmark->marked_time;
181 ret = MEDIA_CONTENT_ERROR_NONE;
185 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
186 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
192 int media_bookmark_get_thumbnail_path(media_bookmark_h bookmark, char **path)
194 int ret = MEDIA_CONTENT_ERROR_NONE;
195 media_bookmark_s *_bookmark = (media_bookmark_s*)bookmark;
199 if(STRING_VALID(_bookmark->thumbnail_path))
201 *path = strdup(_bookmark->thumbnail_path);
204 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
205 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
213 ret = MEDIA_CONTENT_ERROR_NONE;
217 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
218 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;