Remove user version
[platform/core/multimedia/libmedia-service.git] / src / include / common / media-svc-env.h
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
23
24 #ifndef _MEDIA_SVC_ENV_H_
25 #define _MEDIA_SVC_ENV_H_
26
27 #include <stdbool.h>
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 /**
34  * DB table information
35  */
36
37 /**
38  * Table Name
39  */
40 #define DB_TABLE_MEDIA                          "media"                         /**< media table*/
41 #define DB_TABLE_FOLDER                         "folder"                        /**< media_folder table*/
42 #define DB_TABLE_PLAYLIST                               "playlist"                      /**< playlist table*/
43 #define DB_TABLE_PLAYLIST_MAP                   "playlist_map"          /**< playlist_map table*/
44 #define DB_TABLE_ALBUM                          "album"                         /**< album table*/
45 #define DB_TABLE_TAG                                    "tag"                           /**< tag table*/
46 #define DB_TABLE_TAG_MAP                                "tag_map"                       /**< tag_map table*/
47 #define DB_TABLE_BOOKMARK                               "bookmark"                      /**< bookmark table*/
48 #define DB_TABLE_STORAGE                                "storage"                       /**< storage table*/
49 #define DB_TABLE_TMP_TABLE                              "tmp"                   /**< tmp table for backup*/
50 #define DB_TABLE_FACE                                   "face"                  /**< face table*/
51 #define DB_TABLE_FACE_SCAN_LIST                 "face_scan_list"        /**< face_scan_list table*/
52
53 /**
54  * View Name
55  */
56 #define DB_VIEW_MEDIA                           "media_view"            /**< media_view(For upgrade func) */
57 #define DB_VIEW_PLAYLIST                                "playlist_view"         /**< playlist_view*/
58 #define DB_VIEW_TAG                                     "tag_view"              /**< tag_view*/
59
60 /**
61  * Trigger Name
62  */
63 #define DB_TRIGGER_PLAYLIST_MAP                 "playlist_map_cleanup"          /**< media to map*/
64 #define DB_TRIGGER_PLAYLIST_MAP1                        "playlist_map_cleanup_1"        /**< playlist to map*/
65 #define DB_TRIGGER_ALBUM                                "album_cleanup"
66 #define DB_TRIGGER_TAG_MAP                      "tag_map_cleanup"               /**< media to map*/
67 #define DB_TRIGGER_TAG_MAP1                     "tag_map_cleanup_1"             /**< tag to map*/
68 #define DB_TRIGGER_BOOKMARK                     "bookmark_cleanup"
69 #define DB_TRIGGER_FACE_SCAN_LIST       "face_scan_list_cleanup"
70 #define DB_TRIGGER_FACE                         "face_cleanup"
71
72 /**
73  * Column Name for view
74  */
75 #define DB_COLUMN_THUMBNAIL                     "thumbnail_path"
76 #define DB_COLUMN_MAP_ID                                "_id"
77
78
79 /**
80  * option
81  */
82 #define DB_TYPE_TEXT            "TEXT"
83 #define DB_TYPE_INT                     "INTEGER"
84 #define DB_TYPE_DOUBLE          "DOUBLE"
85
86 /**
87  * Query form
88  */
89 #define DB_QUERY_TABLE_WITH_UNIQUE      "CREATE TABLE IF NOT EXISTS '%s' (%s, unique(%s));"
90 #define DB_QUERY_TABLE                          "CREATE TABLE IF NOT EXISTS '%s' (%s);"
91 #define DB_QUERY_INDEX                          "CREATE INDEX IF NOT EXISTS %s on '%s' (%s);"
92 #define DB_QUERY_TRIGGER                                "CREATE TRIGGER IF NOT EXISTS '%s' DELETE ON '%s' BEGIN DELETE FROM %s WHERE %s=old.%s;END;"
93 #define DB_QUERY_TRIGGER_WITH_COUNT     "CREATE TRIGGER IF NOT EXISTS '%s' DELETE ON '%s' BEGIN DELETE FROM %s WHERE (SELECT count(*) FROM '%s' WHERE %s=old.%s)=1 AND %s=old.%s;END;"
94 #define DB_QUERY_VIEW_PLAYLIST          "CREATE VIEW IF NOT EXISTS %s AS SELECT %s FROM playlist \
95                         LEFT OUTER JOIN playlist_map ON playlist.playlist_id = playlist_map.playlist_id \
96                         LEFT OUTER JOIN media ON (playlist_map.media_id = media.media_id AND media.validity=1) \
97                         LEFT OUTER JOIN (SELECT count(playlist_id) as playlist_media_count, playlist_id FROM playlist_map group by playlist_id) as cnt_tbl ON (cnt_tbl.playlist_id=playlist_map.playlist_id AND media.validity=1);"
98 #define DB_QUERY_VIEW_TAG                       "CREATE VIEW IF NOT EXISTS %s AS SELECT %s FROM tag \
99                         LEFT OUTER JOIN tag_map ON tag.tag_id=tag_map.tag_id \
100                         LEFT OUTER JOIN media ON (tag_map.media_id = media.media_id AND media.validity=1) \
101                         LEFT OUTER JOIN (SELECT count(tag_id) as tag_media_count, tag_id FROM tag_map group by tag_id) as cnt_tbl ON (cnt_tbl.tag_id=tag_map.tag_id AND media.validity=1);"
102 #define DB_QUERY_ALTER_TABLE            "ALTER TABLE %s ADD COLUMN %s;"
103
104
105 #define MEDIA_SVC_METADATA_LEN_MAX                      512                     /**< Length of metadata*/
106 #define MEDIA_SVC_PATHNAME_SIZE                 4096                    /**< Length of Path name. */
107 #define MEDIA_SVC_UUID_SIZE                                     36                      /**< Length of UUID*/
108 #define MEDIA_SVC_QUERY_LEN_MAX                 4096*2          /**< Max Query length*/
109 #define MEDIA_SVC_QUERY_LEN_NORMAL              4096                    /**< Normal Query length*/
110
111
112 #define MEDIA_SVC_TAG_UNKNOWN                           ""
113
114 typedef enum {
115         MEDIA_SVC_QUERY_SCANNER,
116         MEDIA_SVC_QUERY_UPDATE_COMMON,
117 } media_svc_query_type_e;
118
119 typedef enum {
120         DB_LIST_MEDIA = 0,
121         DB_LIST_FOLDER,
122         DB_LIST_PLAYLIST_MAP,
123         DB_LIST_PLAYLIST,
124         DB_LIST_ALBUM,
125         DB_LIST_TAG_MAP,
126         DB_LIST_TAG,
127         DB_LIST_BOOKMARK,
128         DB_LIST_STORAGE,
129         DB_LIST_FACE_SCAN_LIST,
130         DB_LIST_FACE,
131         DB_LIST_MAX,
132 } media_svc_table_slist_e;
133
134 #ifdef __cplusplus
135 }
136 #endif
137
138 #endif /*_MEDIA_SVC_ENV_H_*/