5302fa6c626757c0cc508d2d9ba146bbe8d7ed16
[platform/core/multimedia/libmedia-thumbnail.git] / src / include / util / media-thumb-db.h
1 /*
2  * libmedia-thumbnail
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Hyunjun Ko <zzoon.ko@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 <sqlite3.h>
23 #include <media-util.h>
24 #include "media-thumb-types.h"
25 #include "media-thumb-debug.h"
26
27 #ifndef _MEDIA_THUMB_DB_H_
28 #define _MEDIA_THUMB_DB_H_
29
30 #define MEDIA_DATABASE_NAME MEDIA_DB_NAME /* defined in media-util.h */
31
32 #ifndef _USE_NEW_MEDIA_DB_
33 #define SELECT_PATH_FROM_UNEXTRACTED_THUMB_MEDIA "SELECT path from visual_media where thumbnail_path='' and valid=1;"
34 #define SELECT_MEDIA_BY_PATH "SELECT thumbnail_path FROM visual_media WHERE path='%q';"
35 #define SELECT_TYPE_BY_PATH "SELECT content_type FROM visual_media WHERE path='%q';"
36 #define UPDATE_THUMB_BY_PATH "UPDATE visual_media SET thumbnail_path = '%q' WHERE path='%q';"
37 #define UPDATE_WH_BY_PATH "UPDATE image_meta SET width=%d,height=%d WHERE visual_uuid=(SELECT visual_uuid FROM visual_media WHERE path='%q');"
38
39 #else
40 #define SELECT_PATH_FROM_UNEXTRACTED_THUMB_MEDIA "SELECT path from media where thumbnail_path is null and validity=1 and (media_type=0 or media_type=1);"
41 #define SELECT_PATH_FROM_UNEXTRACTED_THUMB_INTERNAL_MEDIA "SELECT path from media where thumbnail_path is null and validity=1 and (media_type=0 or media_type=1) and storage_type=0;"
42 #define SELECT_MEDIA_BY_PATH "SELECT thumbnail_path FROM media WHERE path='%q';"
43 #define SELECT_TYPE_BY_PATH "SELECT media_type FROM media WHERE path='%q';"
44 #define SELECT_WH_BY_PATH "SELECT width, height FROM media WHERE path='%q';"
45 #define UPDATE_THUMB_BY_PATH "UPDATE media SET thumbnail_path = '%q' WHERE path='%q';"
46 #define UPDATE_WH_BY_PATH "UPDATE media SET width=%d,height=%d WHERE path='%q';"
47 #define UPDATE_THUMB_WH_BY_PATH "UPDATE media SET thumbnail_path = '%q', width=%d,height=%d WHERE path='%q';"
48 #endif
49
50 sqlite3 *_media_thumb_db_get_handle();
51
52 int _media_thumb_db_connect(uid_t uid);
53
54 int _media_thumb_db_disconnect();
55
56 int _media_thumb_get_thumb_from_db(const char *origin_path,
57                                                                 char *thumb_path,
58                                                                 int max_length,
59                                                                 int *need_update_db);
60
61 int _media_thumb_get_thumb_from_db_with_size(const char *origin_path,
62                                                                 char *thumb_path,
63                                                                 int max_length,
64                                                                 int *need_update_db,
65                                                                 int *width,
66                                                                 int *height);
67
68 int _media_thumb_update_db(const char *origin_path,
69                                                                         char *thumb_path,
70                                                                         int width,
71                                                                         int height,
72                                                                         uid_t uid);
73
74 #endif /*_MEDIA_THUMB_DB_H_*/
75