Modify scanner progress
[platform/core/multimedia/libmedia-service.git] / plugin / media-content-plugin.c
1 /*
2  * libmedia-service
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Hyunjun Ko <zzoon.ko@samsung.com>, Haejeong Kim <backto.kim@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21
22 #include <string.h>
23 #include <mm_file.h>
24 #include <media-util.h>
25 #include "media-svc.h"
26 #include "media-svc-util.h"
27
28 int cleanup_db(sqlite3 *handle, uid_t uid)
29 {
30         /* For scanner V2 */
31         return MS_MEDIA_ERR_NONE;
32 }
33
34 int insert_item_begin(int item_cnt, int with_noti, int from_pid)
35 {
36         return media_svc_insert_item_begin(item_cnt, with_noti, from_pid);
37 }
38
39 int insert_item_end(uid_t uid)
40 {
41         return media_svc_insert_item_end(uid);
42 }
43
44 int insert_item(sqlite3 *handle, const char *storage_id, const char *file_path, int storage_type, uid_t uid)
45 {
46         return media_svc_insert_item_bulk(handle, storage_id, storage_type, file_path, uid);
47 }
48
49 int set_item_validity_begin(int item_cnt)
50 {
51         return media_svc_set_item_validity_begin(item_cnt);
52 }
53
54 int set_item_validity_end(uid_t uid)
55 {
56         return media_svc_set_item_validity_end(uid);
57 }
58
59 int set_item_validity(const char *storage_id, const char *file_path, int storage_type, int validity, uid_t uid)
60 {
61         return media_svc_set_item_validity(storage_id, file_path, validity, uid);
62 }
63
64 int delete_item(sqlite3 *handle, const char *storage_id, const char *file_path, uid_t uid)
65 {
66         return media_svc_delete_item_by_path(handle, true, storage_id, file_path, uid);
67 }
68
69 int send_dir_update_noti(const char *dir_path, const char *folder_id, int update_type, int pid)
70 {
71         return media_svc_send_dir_update_noti(dir_path, folder_id, (media_item_update_type_e)update_type, pid);
72 }
73
74 int check_db(sqlite3 *handle, uid_t uid)
75 {
76         int ret = MS_MEDIA_ERR_NONE;
77         int user_version = -1;
78
79         ret = media_svc_get_user_version(handle, &user_version);
80         if (ret != MS_MEDIA_ERR_NONE)
81                 return ret;
82
83         if (user_version == 0)
84                 ret = media_svc_create_table(uid);
85         else
86                 ret = media_svc_check_db_upgrade(handle, user_version, uid);
87
88         return ret;
89 }
90
91 int update_folder_time(sqlite3 *handle, const char *storage_id, char *folder_path, uid_t uid)
92 {
93         /* For scanner V2 */
94         return MS_MEDIA_ERR_NONE;
95 }
96
97 int get_uuid(char **uuid)
98 {
99         return media_svc_generate_uuid(uuid);
100 }
101
102 int check_storage(sqlite3 *handle, const char *storage_id, char **storage_path, int *validity, uid_t uid)
103 {
104         return media_svc_check_storage(handle, storage_id, storage_path, validity, uid);
105 }
106
107 int insert_storage(sqlite3 *handle, const char *storage_id, int storage_type, const char *storage_path, uid_t uid)
108 {
109         return media_svc_insert_storage(handle, storage_id, storage_path, storage_type, uid);
110 }
111
112 int update_storage(sqlite3 *handle, const char *storage_id, const char *storage_path, uid_t uid)
113 {
114         return media_svc_update_storage(handle, storage_id, storage_path, uid);
115 }
116
117 int set_storage_validity(sqlite3 *handle, const char *storage_id, int validity, uid_t uid)
118 {
119         return media_svc_set_storage_validity(handle, storage_id, validity, uid);
120 }
121
122 int set_all_storage_validity(sqlite3 *handle, int validity, uid_t uid)
123 {
124         return media_svc_set_storage_validity(handle, NULL, validity, uid);
125 }
126
127 int get_storage_id(sqlite3 *handle, const char *path, char *storage_id, uid_t uid)
128 {
129         return media_svc_get_storage_id(handle, path, storage_id, uid);
130 }
131
132 int set_storage_scan_status(sqlite3 *handle, const char *storage_id, int status, uid_t uid)
133 {
134         /* For scanner V2 */
135         return MS_MEDIA_ERR_NONE;
136 }
137
138 int update_item_begin(int item_cnt)
139 {
140         return media_svc_update_item_begin(item_cnt);
141 }
142
143 int update_item_end(uid_t uid)
144 {
145         return media_svc_update_item_end(uid);
146 }
147
148 int update_item_meta(const char *file_path, const char *storage_id, int storage_type, uid_t uid)
149 {
150         return media_svc_update_item_meta(file_path, storage_id, storage_type, uid);
151 }
152
153 int insert_item_scan(sqlite3 *handle, const char *storage_id, const char *file_path, int storage_type, uid_t uid)
154 {
155         /* For scanner V2 */
156         return MS_MEDIA_ERR_NONE;
157 }
158
159 int get_extract_list(sqlite3* handle, const char* storage_id, int storage_type, int scan_type, const char* path, int burst, uid_t uid, void* array)
160 {
161         /* For scanner V2 */
162         return MS_MEDIA_ERR_NONE;
163 }
164
165 int update_one_extract_item(sqlite3* handle, const char* storage_id, int storage_type, void* data)
166 {
167         /* For scanner V2 */
168         return MS_MEDIA_ERR_NONE;
169 }
170
171 int query_do_update_list(sqlite3* handle)
172 {
173         /* For scanner V2 */
174         return MS_MEDIA_ERR_NONE;
175 }
176
177 int delete_all_invalid_items_in_folder(sqlite3 *handle, const char* storage_id, const char*path, bool is_recursive, uid_t uid)
178 {
179         /* For scanner V2 */
180         return MS_MEDIA_ERR_NONE;
181 }
182
183 int delete_invalid_folder_by_path(sqlite3 *handle, const char *storage_id, const char *folder_path, uid_t uid)
184 {
185         /* For scanner V2 */
186         return MS_MEDIA_ERR_NONE;
187 }
188
189 int insert_folder_begin(int item_cnt)
190 {
191         return media_svc_insert_folder_begin(item_cnt);
192 }
193
194 int insert_folder_end(uid_t uid)
195 {
196         return media_svc_insert_folder_end(uid);
197 }
198
199 int insert_folder(sqlite3 *handle, const char *storage_id, const char *file_path, int storage_type, uid_t uid)
200 {
201         return media_svc_insert_folder(handle, storage_id, storage_type, file_path, uid);
202 }
203
204 int set_folder_validity(sqlite3 *handle, const char *storage_id, const char* start_path, int validity, bool is_recursive, uid_t uid)
205 {
206         return media_svc_set_folder_validity(handle, storage_id, start_path, validity, is_recursive, uid);
207 }
208
209 int get_folder_scan_status(sqlite3 *handle, const char *storage_id, const char *path, int *status)
210 {
211         /* For scanner V2 */
212         return MS_MEDIA_ERR_NONE;
213 }
214
215 int set_folder_scan_status(sqlite3 *handle, const char *storage_id, const char *path, int status, uid_t uid)
216 {
217         /* For scanner V2 */
218         return MS_MEDIA_ERR_NONE;
219 }
220
221 int check_folder_modified(sqlite3 *handle, const char *path, const char *storage_id, bool *modified)
222 {
223         /* For scanner V2 */
224         return MS_MEDIA_ERR_NONE;
225 }
226
227 int get_null_scan_folder_list(sqlite3 *handle, const char *storage_id, const char *folder_path, char ***folder_list, int *count)
228 {
229         /* For scanner V2 */
230         return MS_MEDIA_ERR_NONE;
231 }
232
233 int change_validity_item_batch(sqlite3 *handle, const char *storage_id, const char *path, int des_validity, int src_validity, uid_t uid)
234 {
235         /* For scanner V2 */
236         return MS_MEDIA_ERR_NONE;
237 }
238
239 int check_folder_exist(sqlite3 *handle, const char *storage_id, const char *folder_path)
240 {
241         return media_svc_check_folder_exist_by_path(handle, storage_id, folder_path);
242 }
243
244 int get_media_type(const char *path, int *mediatype)
245 {
246         return media_svc_get_media_type(path, mediatype);
247 }
248
249 int refresh_item(sqlite3 *handle, const char *storage_id, const char *path, uid_t uid)
250 {
251         int ret = MS_MEDIA_ERR_NONE;
252         ms_user_storage_type_e storage_type = MS_USER_STORAGE_INTERNAL;
253
254         ret = ms_user_get_storage_type(uid, path, &storage_type);
255         if (ret != MS_MEDIA_ERR_NONE)
256                 return ret;
257
258         return media_svc_refresh_item(handle, true, storage_id, storage_type, path, uid);
259 }