• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2021 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef MEDIA_DATA_ABILITY_CONST_H
17 #define MEDIA_DATA_ABILITY_CONST_H
18 #include "media_lib_service_const.h"
19 namespace OHOS {
20 namespace Media {
21 const uint64_t BYTRACE_TAG_MEDIALIBRARY = 10000;
22 const int32_t DATA_ABILITY_SUCCESS = 0;
23 const int32_t DATA_ABILITY_FAIL = -1;
24 const int32_t DATA_ABILITY_HAS_OPENED_FAIL = -10;
25 const int32_t DATA_ABILITY_HAS_DB_ERROR = -100;
26 const int32_t DATA_ABILITY_HAS_FD_ERROR = -101;
27 const int32_t DATA_ABILITY_VIOLATION_PARAMETERS = -1000;
28 const int32_t DATA_ABILITY_DUPLICATE_CREATE = -10000;
29 const int32_t DATA_ABILITY_PERMISSION_DENIED = -10001;
30 const int32_t DATA_ABILITY_FILE_NAME_INVALID = -10002;
31 const int32_t DATA_ABILITY_MODIFY_DATA_FAIL = -100000;
32 
33 const int32_t ALBUM_OPERATION_ERR = -1;
34 const int32_t FILE_OPERATION_ERR = -1;
35 const int32_t DEFAULT_PRIVATEALBUMTYPE = -1;
36 #ifdef RDB_UPGRADE_MOCK
37 const int32_t MEDIA_RDB_VERSION = 2;
38 #else
39 const int32_t MEDIA_RDB_VERSION = 1;
40 #endif
41 const int32_t MEDIA_RDB_VERSION_NEW = 5;
42 const int32_t MEDIA_SMARTALBUM_RDB_VERSION = 1;
43 const int32_t MEDIA_SMARTALBUMMAP_RDB_VERSION = 1;
44 const int32_t DEVICE_OPERATION_ERR = -1;
45 
46 const int32_t DEVICE_SYNCSTATUSING = 0;
47 const int32_t DEVICE_SYNCSTATUS_COMPLETE = 1;
48 
49 const std::string MEDIA_DATA_DB_Path = "/data/media/";
50 const std::string MEDIA_DATA_DEVICE_PATH = "local";
51 const std::string MEDIALIBRARY_TABLE = "Files";
52 const std::string SMARTALBUM_TABLE = "SmartAlbum";
53 const std::string SMARTALBUM_MAP_TABLE = "SmartAlbumMap";
54 const std::string CATEGORY_SMARTALBUM_MAP_TABLE = "CategorySmartAlbumMap";
55 const std::string DEVICE_TABLE = "Device";
56 
57 const std::string MEDIA_DATA_ABILITY_DB_NAME = "media_library.db";
58 
59 const std::string BUNDLE_NAME = "com.ohos.medialibrary.MediaLibraryDataA";
60 const std::string ENCRYPTION_LEVEL = "el2";
61 
62 const std::string MEDIALIBRARY_DATA_ABILITY_PREFIX = "dataability://";
63 const std::string MEDIALIBRARY_DATA_URI_IDENTIFIER = "/media";
64 const std::string MEDIALIBRARY_MEDIA_PREFIX = MEDIALIBRARY_DATA_ABILITY_PREFIX + MEDIALIBRARY_DATA_URI_IDENTIFIER;
65 const std::string MEDIALIBRARY_TYPE_AUDIO_URI = "/audio";
66 const std::string MEDIALIBRARY_TYPE_VIDEO_URI = "/video";
67 const std::string MEDIALIBRARY_TYPE_IMAGE_URI = "/image";
68 const std::string MEDIALIBRARY_TYPE_FILE_URI  =  "/file";
69 const std::string MEDIALIBRARY_TYPE_ALBUM_URI  =  "/album";
70 const std::string MEDIALIBRARY_TYPE_SMARTALBUM_CHANGE_URI  =  "/smartalbum";
71 const std::string MEDIALIBRARY_TYPE_DEVICE_URI  =  "/device";
72 const std::string MEDIALIBRARY_TYPE_SMART_URI = "/smart";
73 
74 const std::string MEDIALIBRARY_DATA_URI = "dataability:///media";
75 const std::string MEDIALIBRARY_SMARTALBUM_URI = MEDIALIBRARY_DATA_URI + "/" + SMARTALBUM_TABLE;
76 const std::string MEDIALIBRARY_SMARTALBUM_MAP_URI = MEDIALIBRARY_DATA_URI + "/" + SMARTALBUM_MAP_TABLE;
77 const std::string MEDIALIBRARY_CATEGORY_SMARTALBUM_MAP_URI = MEDIALIBRARY_DATA_URI + "/"
78                                                              + CATEGORY_SMARTALBUM_MAP_TABLE;
79 
80 const std::string MEDIALIBRARY_AUDIO_URI = MEDIALIBRARY_DATA_URI + '/' + "audio";
81 const std::string MEDIALIBRARY_VIDEO_URI = MEDIALIBRARY_DATA_URI + '/' + "video";
82 const std::string MEDIALIBRARY_IMAGE_URI = MEDIALIBRARY_DATA_URI + '/' + "image";
83 const std::string MEDIALIBRARY_FILE_URI  =  MEDIALIBRARY_DATA_URI + '/' + "file";
84 const std::string MEDIALIBRARY_ALBUM_URI  =  MEDIALIBRARY_DATA_URI + '/' + "album";
85 const std::string MEDIALIBRARY_SMARTALBUM_CHANGE_URI  =  MEDIALIBRARY_DATA_URI + '/' + "smartalbum";
86 const std::string MEDIALIBRARY_DEVICE_URI  =  MEDIALIBRARY_DATA_URI + '/' + "device";
87 const std::string MEDIALIBRARY_SMART_URI = MEDIALIBRARY_DATA_URI + '/' + "smart";
88 const std::string MEDIALIBRARY_REMOTEFILE_URI = MEDIALIBRARY_DATA_URI + '/' + "remotfile";
89 
90 const std::string MEDIA_DATA_DB_ID = "file_id";
91 const std::string MEDIA_DATA_DB_URI = "uri";
92 const std::string MEDIA_DATA_DB_FILE_PATH = "data";
93 const std::string MEDIA_DATA_DB_SIZE = "size";
94 const std::string MEDIA_DATA_DB_PARENT_ID = "parent";
95 const std::string MEDIA_DATA_DB_DATE_MODIFIED = "date_modified";
96 const std::string MEDIA_DATA_DB_DATE_ADDED = "date_added";
97 const std::string MEDIA_DATA_DB_MIME_TYPE = "mime_type";
98 const std::string MEDIA_DATA_DB_TITLE = "title";
99 const std::string MEDIA_DATA_DB_DESCRIPTION = "description";
100 const std::string MEDIA_DATA_DB_NAME = "display_name";
101 const std::string MEDIA_DATA_DB_ORIENTATION = "orientation";
102 const std::string MEDIA_DATA_DB_LATITUDE = "latitude";
103 const std::string MEDIA_DATA_DB_LONGITUDE = "longitude";
104 const std::string MEDIA_DATA_DB_DATE_TAKEN = "date_taken";
105 const std::string MEDIA_DATA_DB_THUMBNAIL = "thumbnail";
106 
107 const std::string MEDIA_DATA_DB_LCD = "lcd";
108 const std::string MEDIA_DATA_DB_BUCKET_ID = "bucket_id";
109 const std::string MEDIA_DATA_DB_BUCKET_NAME = "bucket_display_name";
110 const std::string MEDIA_DATA_DB_DURATION = "duration";
111 const std::string MEDIA_DATA_DB_ARTIST = "artist";
112 
113 const std::string MEDIA_DATA_DB_AUDIO_ALBUM = "audio_album";
114 const std::string MEDIA_DATA_DB_MEDIA_TYPE = "media_type";
115 
116 const std::string MEDIA_DATA_DB_HEIGHT = "height";
117 const std::string MEDIA_DATA_DB_WIDTH = "width";
118 const std::string MEDIA_DATA_DB_OWNER_PACKAGE = "owner_package";
119 
120 const std::string MEDIA_DATA_DB_IS_FAV = "is_favorite";
121 const std::string MEDIA_DATA_DB_IS_TRASH = "is_trash";
122 const std::string MEDIA_DATA_DB_DATE_TRASHED = "date_trashed";
123 const std::string MEDIA_DATA_DB_IS_PENDING = "is_pending";
124 const std::string MEDIA_DATA_DB_TIME_PENDING = "time_pending";
125 const std::string MEDIA_DATA_DB_RELATIVE_PATH = "relative_path";
126 const std::string MEDIA_DATA_DB_VOLUME_NAME = "volume_name";
127 const std::string MEDIA_DATA_DB_SELF_ID = "self_id";
128 
129 const std::string MEDIA_DATA_DB_ALBUM = "album";
130 const std::string MEDIA_DATA_DB_ALBUM_ID = "album_id";
131 const std::string MEDIA_DATA_DB_ALBUM_NAME = "album_name";
132 const std::string MEDIA_DATA_DB_COUNT = "count";
133 
134 // ringtone uri constants
135 const std::string MEDIA_DATA_DB_RINGTONE_URI = "ringtone_uri";
136 const std::string MEDIA_DATA_DB_ALARM_URI = "alarm_uri";
137 const std::string MEDIA_DATA_DB_NOTIFICATION_URI = "notification_uri";
138 const std::string MEDIA_DATA_DB_RINGTONE_TYPE = "ringtone_type";
139 
140 const std::string CREATE_MEDIA_TABLE = "CREATE TABLE IF NOT EXISTS " + MEDIALIBRARY_TABLE + " ("
141                                        + MEDIA_DATA_DB_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
142                                        + MEDIA_DATA_DB_FILE_PATH + " TEXT, "
143                                        + MEDIA_DATA_DB_SIZE + " BIGINT, "
144                                        + MEDIA_DATA_DB_PARENT_ID + " INT DEFAULT 0, "
145                                        + MEDIA_DATA_DB_DATE_ADDED + " BIGINT, "
146                                        + MEDIA_DATA_DB_DATE_MODIFIED + " BIGINT, "
147                                        + MEDIA_DATA_DB_MIME_TYPE + " TEXT, "
148                                        + MEDIA_DATA_DB_TITLE + " TEXT, "
149                                        + MEDIA_DATA_DB_DESCRIPTION + " TEXT, "
150                                        + MEDIA_DATA_DB_NAME + " TEXT, "
151                                        + MEDIA_DATA_DB_ORIENTATION + " INT DEFAULT 0, "
152                                        + MEDIA_DATA_DB_LATITUDE + " DOUBLE DEFAULT 0, "
153                                        + MEDIA_DATA_DB_LONGITUDE + " DOUBLE DEFAULT 0, "
154                                        + MEDIA_DATA_DB_DATE_TAKEN + " BIGINT DEFAULT 0, "
155                                        + MEDIA_DATA_DB_THUMBNAIL + " TEXT, "
156                                        + MEDIA_DATA_DB_LCD + " TEXT, "
157                                        + MEDIA_DATA_DB_BUCKET_ID + " INT DEFAULT 0, "
158                                        + MEDIA_DATA_DB_BUCKET_NAME + " TEXT, "
159                                        + MEDIA_DATA_DB_DURATION + " INT, "
160                                        + MEDIA_DATA_DB_ARTIST + " TEXT, "
161                                        + MEDIA_DATA_DB_AUDIO_ALBUM + " TEXT, "
162                                        + MEDIA_DATA_DB_MEDIA_TYPE + " INT, "
163                                        + MEDIA_DATA_DB_HEIGHT + " INT, "
164                                        + MEDIA_DATA_DB_WIDTH + " INT, "
165                                        + MEDIA_DATA_DB_IS_FAV + " BOOL DEFAULT 0, "
166                                        + MEDIA_DATA_DB_OWNER_PACKAGE + " TEXT, "
167                                        + MEDIA_DATA_DB_IS_PENDING + " BOOL DEFAULT 0, "
168                                        + MEDIA_DATA_DB_TIME_PENDING + " BIGINT DEFAULT 0, "
169                                        + MEDIA_DATA_DB_DATE_TRASHED + " BIGINT DEFAULT 0, "
170                                        + MEDIA_DATA_DB_RELATIVE_PATH + " TEXT, "
171                                        + MEDIA_DATA_DB_VOLUME_NAME + " TEXT, "
172                                        + MEDIA_DATA_DB_SELF_ID + " TEXT DEFAULT '1', "
173                                        + MEDIA_DATA_DB_ALBUM_NAME + " TEXT, "
174                                        + MEDIA_DATA_DB_URI + " TEXT, "
175                                        + MEDIA_DATA_DB_ALBUM + " TEXT)";
176 
177 const std::string CREATE_IMAGE_VIEW = "CREATE VIEW Image AS SELECT "
178                                       + MEDIA_DATA_DB_ID + ", "
179                                       + MEDIA_DATA_DB_FILE_PATH + ", "
180                                       + MEDIA_DATA_DB_SIZE + ", "
181                                       + MEDIA_DATA_DB_NAME + ", "
182                                       + MEDIA_DATA_DB_TITLE + ", "
183                                       + MEDIA_DATA_DB_DESCRIPTION + ", "
184                                       + MEDIA_DATA_DB_DATE_ADDED + ", "
185                                       + MEDIA_DATA_DB_DATE_MODIFIED + ", "
186                                       + MEDIA_DATA_DB_DATE_TAKEN + ", "
187                                       + MEDIA_DATA_DB_MIME_TYPE + ", "
188                                       + MEDIA_DATA_DB_LATITUDE + ", "
189                                       + MEDIA_DATA_DB_LONGITUDE + ", "
190                                       + MEDIA_DATA_DB_ORIENTATION + ", "
191                                       + MEDIA_DATA_DB_WIDTH + ", "
192                                       + MEDIA_DATA_DB_HEIGHT + ", "
193                                       + MEDIA_DATA_DB_BUCKET_ID + ", "
194                                       + MEDIA_DATA_DB_BUCKET_NAME + ", "
195                                       + MEDIA_DATA_DB_THUMBNAIL + ", "
196                                       + MEDIA_DATA_DB_LCD + ", "
197                                       + MEDIA_DATA_DB_SELF_ID + " "
198                                       + "FROM Files WHERE "
199                                       + MEDIA_DATA_DB_MEDIA_TYPE + " = 3";
200 
201 const std::string CREATE_VIDEO_VIEW = "CREATE VIEW Video AS SELECT "
202                                       + MEDIA_DATA_DB_ID + ", "
203                                       + MEDIA_DATA_DB_FILE_PATH + ", "
204                                       + MEDIA_DATA_DB_SIZE + ", "
205                                       + MEDIA_DATA_DB_NAME + ", "
206                                       + MEDIA_DATA_DB_TITLE + ", "
207                                       + MEDIA_DATA_DB_DESCRIPTION + ", "
208                                       + MEDIA_DATA_DB_DATE_ADDED + ", "
209                                       + MEDIA_DATA_DB_DATE_MODIFIED + ", "
210                                       + MEDIA_DATA_DB_MIME_TYPE + ", "
211                                       + MEDIA_DATA_DB_ORIENTATION + ", "
212                                       + MEDIA_DATA_DB_WIDTH + ", "
213                                       + MEDIA_DATA_DB_HEIGHT + ", "
214                                       + MEDIA_DATA_DB_DURATION + ", "
215                                       + MEDIA_DATA_DB_BUCKET_ID + ", "
216                                       + MEDIA_DATA_DB_BUCKET_NAME + ", "
217                                       + MEDIA_DATA_DB_THUMBNAIL + ", "
218                                       + MEDIA_DATA_DB_SELF_ID + " "
219                                       + "FROM Files WHERE "
220                                       + MEDIA_DATA_DB_MEDIA_TYPE + " = 4";
221 
222 const std::string CREATE_AUDIO_VIEW = "CREATE VIEW Audio AS SELECT "
223                                       + MEDIA_DATA_DB_ID + ", "
224                                       + MEDIA_DATA_DB_FILE_PATH + ", "
225                                       + MEDIA_DATA_DB_SIZE + ", "
226                                       + MEDIA_DATA_DB_NAME + ", "
227                                       + MEDIA_DATA_DB_TITLE + ", "
228                                       + MEDIA_DATA_DB_DESCRIPTION + ", "
229                                       + MEDIA_DATA_DB_DATE_ADDED + ", "
230                                       + MEDIA_DATA_DB_DATE_MODIFIED + ", "
231                                       + MEDIA_DATA_DB_MIME_TYPE + ", "
232                                       + MEDIA_DATA_DB_ARTIST + ", "
233                                       + MEDIA_DATA_DB_DURATION + ", "
234                                       + MEDIA_DATA_DB_BUCKET_ID + ", "
235                                       + MEDIA_DATA_DB_BUCKET_NAME + ", "
236                                       + MEDIA_DATA_DB_THUMBNAIL + ", "
237                                       + MEDIA_DATA_DB_SELF_ID + " "
238                                       + "FROM Files WHERE "
239                                       + MEDIA_DATA_DB_MEDIA_TYPE + " = 5";
240 
241 const std::string FILE_TABLE = "file";
242 const std::string ABLUM_TABLE = "album";
243 const std::string ABLUM_VIEW_NAME = "Album";
244 const std::string CREATE_ABLUM_VIEW = "CREATE VIEW " + ABLUM_VIEW_NAME
245                                       + " AS SELECT count( " + FILE_TABLE + "."
246                                       + MEDIA_DATA_DB_DATE_TRASHED + "= 0 OR NULL) AS "
247                                       + MEDIA_DATA_DB_COUNT + ", "
248                                       + ABLUM_TABLE + "." + MEDIA_DATA_DB_RELATIVE_PATH + ", "
249                                       + ABLUM_TABLE + "." + MEDIA_DATA_DB_ID + " AS "
250                                       + MEDIA_DATA_DB_BUCKET_ID + ", "
251                                       + ABLUM_TABLE + "." + MEDIA_DATA_DB_FILE_PATH + ", "
252                                       + ABLUM_TABLE + "." + MEDIA_DATA_DB_TITLE + " AS "
253                                       + MEDIA_DATA_DB_BUCKET_NAME + ", "
254                                       + ABLUM_TABLE + "." + MEDIA_DATA_DB_TITLE + ", "
255                                       + ABLUM_TABLE + "." + MEDIA_DATA_DB_DESCRIPTION + ", "
256                                       + ABLUM_TABLE + "." + MEDIA_DATA_DB_DATE_ADDED + ", "
257                                       + ABLUM_TABLE + "." + MEDIA_DATA_DB_DATE_MODIFIED + ", "
258                                       + ABLUM_TABLE + "." + MEDIA_DATA_DB_THUMBNAIL + ", "
259                                       + FILE_TABLE + "." + MEDIA_DATA_DB_MEDIA_TYPE + ", "
260                                       + ABLUM_TABLE + "." + MEDIA_DATA_DB_SELF_ID
261                                       + " FROM Files " + FILE_TABLE + ", "
262                                       + " Files " + ABLUM_TABLE
263                                       + " WHERE "
264                                       + FILE_TABLE + "." + MEDIA_DATA_DB_BUCKET_ID + " = "
265                                       + ABLUM_TABLE + "." + MEDIA_DATA_DB_ID + " AND "
266                                       + FILE_TABLE + "." + MEDIA_DATA_DB_MEDIA_TYPE + " <> "
267                                       + std::to_string(MEDIA_TYPE_ALBUM) + " AND "
268                                       + FILE_TABLE + "." + MEDIA_DATA_DB_MEDIA_TYPE + " <> "
269                                       + std::to_string(MEDIA_TYPE_FILE)
270                                       + " GROUP BY "
271                                       + FILE_TABLE + "." + MEDIA_DATA_DB_BUCKET_ID +", "
272                                       + FILE_TABLE + "." + MEDIA_DATA_DB_BUCKET_NAME + ", "
273                                       + FILE_TABLE + "." + MEDIA_DATA_DB_MEDIA_TYPE + ", "
274                                       + ABLUM_TABLE + "." + MEDIA_DATA_DB_SELF_ID;
275 const std::string DISTRIBUTED_ABLUM_COLUMNS = "SELECT count( " + FILE_TABLE + "."
276                                                + MEDIA_DATA_DB_DATE_TRASHED + "= 0 OR NULL) AS "
277                                                + MEDIA_DATA_DB_COUNT + ", "
278                                                + ABLUM_TABLE + "." + MEDIA_DATA_DB_RELATIVE_PATH + ", "
279                                                + ABLUM_TABLE + "." + MEDIA_DATA_DB_ID + " AS "
280                                                + MEDIA_DATA_DB_BUCKET_ID + ", "
281                                                + ABLUM_TABLE + "." + MEDIA_DATA_DB_FILE_PATH + ", "
282                                                + ABLUM_TABLE + "." + MEDIA_DATA_DB_TITLE + " AS "
283                                                + MEDIA_DATA_DB_BUCKET_NAME + ", "
284                                                + ABLUM_TABLE + "." + MEDIA_DATA_DB_TITLE + ", "
285                                                + ABLUM_TABLE + "." + MEDIA_DATA_DB_DESCRIPTION + ", "
286                                                + ABLUM_TABLE + "." + MEDIA_DATA_DB_DATE_ADDED + ", "
287                                                + ABLUM_TABLE + "." + MEDIA_DATA_DB_DATE_MODIFIED + ", "
288                                                + ABLUM_TABLE + "." + MEDIA_DATA_DB_THUMBNAIL + ", "
289                                                + FILE_TABLE + "." + MEDIA_DATA_DB_MEDIA_TYPE + ", "
290                                                + ABLUM_TABLE + "." + MEDIA_DATA_DB_SELF_ID;
291 const std::string DISTRIBUTED_ABLUM_WHERE_AND_GROUPBY = " WHERE "
292                                                         + FILE_TABLE + "." + MEDIA_DATA_DB_BUCKET_ID + " = "
293                                                         + ABLUM_TABLE + "." + MEDIA_DATA_DB_ID + " AND "
294                                                         + FILE_TABLE + "." + MEDIA_DATA_DB_MEDIA_TYPE + " <> "
295                                                         + std::to_string(MEDIA_TYPE_ALBUM) + " AND "
296                                                         + FILE_TABLE + "." + MEDIA_DATA_DB_MEDIA_TYPE + " <> "
297                                                         + std::to_string(MEDIA_TYPE_FILE)
298                                                         + " GROUP BY "
299                                                         + FILE_TABLE + "." + MEDIA_DATA_DB_BUCKET_ID +", "
300                                                         + FILE_TABLE + "." + MEDIA_DATA_DB_BUCKET_NAME + ", "
301                                                         + FILE_TABLE + "." + MEDIA_DATA_DB_MEDIA_TYPE + ", "
302                                                         + ABLUM_TABLE + "." + MEDIA_DATA_DB_SELF_ID;
303 const std::string SMARTALBUM_DB_ID = "album_id";
304 const std::string SMARTALBUM_DB_NAME = "name";
305 const std::string SMARTALBUM_DB_DESCRIPTION = "description";
306 const std::string SMARTALBUM_DB_ALBUM_TYPE = "album_type";
307 const std::string SMARTALBUM_DB_LATITUDE = "latitude";
308 const std::string SMARTALBUM_DB_LONGITUDE = "longitude";
309 const std::string SMARTALBUM_DB_DATE_ADDED = "date_added";
310 const std::string SMARTALBUM_DB_DATE_MODIFIED = "date_modified";
311 const std::string SMARTALBUM_DB_SELF_ID = "self_id";
312 const std::string CREATE_SMARTALBUM_TABLE = "CREATE TABLE IF NOT EXISTS " + SMARTALBUM_TABLE + " ("
313                                             + SMARTALBUM_DB_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
314                                             + SMARTALBUM_DB_NAME + " TEXT, "
315                                             + SMARTALBUM_DB_DESCRIPTION + " TEXT, "
316                                             + SMARTALBUM_DB_ALBUM_TYPE + " INT, "
317                                             + SMARTALBUM_DB_LATITUDE + " DOUBLE DEFAULT 0, "
318                                             + SMARTALBUM_DB_LONGITUDE + " DOUBLE DEFAULT 0, "
319                                             + SMARTALBUM_DB_DATE_ADDED + " BIGINT, "
320                                             + SMARTALBUM_DB_DATE_MODIFIED + " BIGINT, "
321                                             + SMARTALBUM_DB_SELF_ID + " TEXT) ";
322 
323 const std::string SMARTALBUMMAP_DB_ID = "map_id";
324 const std::string SMARTALBUMMAP_DB_CATEGORY_ID = "id";
325 const std::string SMARTALBUMMAP_DB_ALBUM_ID = "album_id";
326 const std::string SMARTALBUMMAP_DB_ASSET_ID = "asset_id";
327 const std::string SMARTALBUMMAP_DB_SELF_ID = "self_id";
328 const std::string CREATE_SMARTALBUMMAP_TABLE = "CREATE TABLE IF NOT EXISTS " + SMARTALBUM_MAP_TABLE + " ("
329                                             + SMARTALBUMMAP_DB_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
330                                             + SMARTALBUMMAP_DB_CATEGORY_ID + " INT, "
331                                             + SMARTALBUMMAP_DB_ALBUM_ID + " INT, "
332                                             + SMARTALBUMMAP_DB_ASSET_ID + " INT, "
333                                             + SMARTALBUMMAP_DB_SELF_ID + " TEXT) ";
334 const std::string CATEGORY_SMARTALBUMMAP_DB_ID = "category_map_id";
335 const std::string CATEGORY_SMARTALBUMMAP_DB_CATEGORY_ID = "category_id";
336 const std::string CATEGORY_SMARTALBUMMAP_DB_CATEGORY_NAME = "category_name";
337 const std::string CATEGORY_SMARTALBUMMAP_DB_ALBUM_ID = "album_id";
338 const std::string CATEGORY_SMARTALBUMMAP_DB_SELF_ID = "self_id";
339 const std::string CREATE_CATEGORY_SMARTALBUMMAP_TABLE = "CREATE TABLE IF NOT EXISTS "
340                                             + CATEGORY_SMARTALBUM_MAP_TABLE + " ("
341                                             + CATEGORY_SMARTALBUMMAP_DB_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
342                                             + CATEGORY_SMARTALBUMMAP_DB_CATEGORY_ID + " INT, "
343                                             + CATEGORY_SMARTALBUMMAP_DB_CATEGORY_NAME + " TEXT, "
344                                             + CATEGORY_SMARTALBUMMAP_DB_ALBUM_ID + " INT, "
345                                             + SMARTALBUMMAP_DB_SELF_ID + " TEXT) ";
346 
347 const std::string DEVICE_DB_ID = "id";
348 const std::string DEVICE_DB_DEVICEID = "device_id";
349 const std::string DEVICE_DB_NETWORK_ID = "network_id";
350 const std::string DEVICE_DB_NAME = "device_name";
351 const std::string DEVICE_DB_IP = "device_ip";
352 const std::string DEVICE_DB_SYNC_STATUS = "sync_status";
353 const std::string DEVICE_DB_SELF_ID = "self_id";
354 const std::string DEVICE_DB_TYPE = "device_type";
355 const std::string DEVICE_DB_PREPATH = "pre_path";
356 const std::string DEVICE_DB_DATE_ADDED = "date_added";
357 const std::string DEVICE_DB_DATE_MODIFIED = "date_modified";
358 const std::string CREATE_DEVICE_TABLE = "CREATE TABLE IF NOT EXISTS " + DEVICE_TABLE + " ("
359                                             + DEVICE_DB_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
360                                             + DEVICE_DB_DEVICEID + " TEXT, "
361                                             + DEVICE_DB_NETWORK_ID + " TEXT, "
362                                             + DEVICE_DB_NAME + " TEXT, "
363                                             + DEVICE_DB_IP + " TEXT DEFAULT '', "
364                                             + DEVICE_DB_SYNC_STATUS + " INT DEFAULT 0, "
365                                             + DEVICE_DB_SELF_ID + " TEXT, "
366                                             + DEVICE_DB_TYPE + " INT, "
367                                             + DEVICE_DB_PREPATH + " TEXT, "
368                                             + DEVICE_DB_DATE_ADDED + " BIGINT DEFAULT 0, "
369                                             + DEVICE_DB_DATE_MODIFIED + " BIGINT DEFAULT 0) ";
370 const std::string SMARTALBUM_TABLE_NAME = "smartalbum";
371 const std::string SMARTALBUMMAP_TABLE_NAME = "smartAlbumMap";
372 const std::string CATEGORY_SMARTALBUMMAP_TABLE_NAME = "categorySmartAlbumMap";
373 const std::string SMARTABLUMASSETS_VIEW_NAME = "SmartAlbumAssets";
374 const std::string SMARTABLUMASSETS_ALBUMCAPACITY = "albumCapacity";
375 const std::string CREATE_SMARTABLUMASSETS_VIEW = "CREATE VIEW " + SMARTABLUMASSETS_VIEW_NAME
376                         + " AS SELECT COUNT(" + MEDIALIBRARY_TABLE + "."+ MEDIA_DATA_DB_DATE_TRASHED + " = 0"
377                         + " OR NULL ) AS " + SMARTABLUMASSETS_ALBUMCAPACITY + ", "
378                         + SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_ID + ", "
379                         + SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_NAME + ", "
380                         + SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_SELF_ID + ", "
381                         + SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_ALBUM_TYPE + ", "
382                         + SMARTALBUM_MAP_TABLE + "." + SMARTALBUMMAP_DB_ID
383                         + " FROM " + SMARTALBUM_TABLE +" "+SMARTALBUM_TABLE_NAME
384                         + " LEFT JOIN " + SMARTALBUM_MAP_TABLE
385                         + " ON " + SMARTALBUM_MAP_TABLE + "." + SMARTALBUMMAP_DB_ALBUM_ID + " = "
386                         + SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_ID
387                         + " LEFT JOIN " + MEDIALIBRARY_TABLE
388                         + " ON " + SMARTALBUM_MAP_TABLE + "." + SMARTALBUMMAP_DB_ASSET_ID + " = "
389                         + MEDIALIBRARY_TABLE + "." + MEDIA_DATA_DB_ID
390                         + " GROUP BY IFNULL( " + SMARTALBUM_TABLE_NAME + "." + SMARTALBUMMAP_DB_ALBUM_ID + ", "
391                         + SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_ID + " ), "
392                         + SMARTALBUM_TABLE_NAME + "." + SMARTALBUM_DB_SELF_ID;
393 const std::string ASSETMAP_VIEW_NAME = "AssetMap";
394 const std::string CREATE_ASSETMAP_VIEW = "CREATE VIEW " + ASSETMAP_VIEW_NAME
395                         + " AS SELECT * FROM "
396                         + MEDIALIBRARY_TABLE + " a " + ", "
397                         + SMARTALBUM_MAP_TABLE + " b "
398                         + " WHERE "
399                         + "a." + MEDIA_DATA_DB_ID + " = "
400                         + "b." + SMARTALBUMMAP_DB_ASSET_ID;
401 
402 // File operations constants
403 const std::string MEDIA_OPERN_KEYWORD = "operation";
404 const std::string MEDIA_FILEOPRN = "file_operation";
405 const std::string MEDIA_ALBUMOPRN = "album_operation";
406 const std::string MEDIA_KVSTOREOPRN = "kvstore_operation";
407 const std::string MEDIA_SMARTALBUMOPRN = "albumsmart_operation";
408 const std::string MEDIA_SMARTALBUMMAPOPRN = "smartalbummap_operation";
409 const std::string MEDIA_FILEOPRN_CREATEASSET = "create_asset";
410 const std::string MEDIA_FILEOPRN_MODIFYASSET = "modify_asset";
411 const std::string MEDIA_FILEOPRN_DELETEASSET = "delete_asset";
412 const std::string MEDIA_FILEOPRN_GETALBUMCAPACITY = "get_album_capacity";
413 const std::string MEDIA_FILEOPRN_OPENASSET = "open_asset";
414 const std::string MEDIA_FILEOPRN_CLOSEASSET = "close_asset";
415 const std::string MEDIA_FILEOPRN_ISDIRECTORY = "isdirectory_asset";
416 
417 // ringtone uris
418 const std::string MEDIA_KVSTOREOPRN_SET_URI = "set_ringtone_uri";
419 const std::string MEDIA_KVSTOREOPRN_SET_NOTIFICATION_URI = "set_notification_uri";
420 const std::string MEDIA_KVSTOREOPRN_SET_ALARM_URI = "set_alarm_uri";
421 const std::string MEDIA_KVSTOREOPRN_GET_URI = "get_ringtone_uri";
422 const std::string MEDIA_KVSTOREOPRN_GET_NOTIFICATION_URI = "get_notification_uri";
423 const std::string MEDIA_KVSTOREOPRN_GET_ALARM_URI = "get_alarm_uri";
424 
425 const std::string MEDIA_ALBUMOPRN_CREATEALBUM = "create_album";
426 const std::string MEDIA_ALBUMOPRN_MODIFYALBUM = "modify_album";
427 const std::string MEDIA_ALBUMOPRN_DELETEALBUM = "delete_album";
428 const std::string MEDIA_ALBUMOPRN_QUERYALBUM = "query_album";
429 const std::string MEDIA_SMARTALBUMOPRN_CREATEALBUM = "create_smartalbum";
430 const std::string MEDIA_SMARTALBUMOPRN_MODIFYALBUM = "modify_smartalbum";
431 const std::string MEDIA_SMARTALBUMOPRN_DELETEALBUM = "delete_smartalbum";
432 const std::string MEDIA_SMARTALBUMMAPOPRN_ADDSMARTALBUM = "add_smartalbum_map";
433 const std::string MEDIA_SMARTALBUMMAPOPRN_REMOVESMARTALBUM = "remove_smartalbum_map";
434 const std::string MEDIA_FILEMODE = "mode";
435 const std::string MEDIA_FILEDESCRIPTOR = "fd";
436 const std::string MEDIA_FILEMODE_READONLY = "r";
437 const std::string MEDIA_FILEMODE_WRITEONLY = "w";
438 const std::string MEDIA_FILEMODE_READWRITE = "rw";
439 const std::string MEDIA_FILEMODE_WRITETRUNCATE = "wt";
440 const std::string MEDIA_FILEMODE_WRITEAPPEND = "wa";
441 const std::string MEDIA_FILEMODE_READWRITETRUNCATE = "rwt";
442 
443 const std::string ALBUM_DB_COND = MEDIA_DATA_DB_ID + " = ?";
444 const std::string SMARTALBUM_DB_COND = SMARTALBUM_DB_ID + " = ?";
445 const std::string SMARTALBUM_MAP_DE_SMARTALBUM_COND = SMARTALBUMMAP_DB_ALBUM_ID + " = ?";
446 const std::string SMARTALBUM_MAP_DE_ASSETS_COND = SMARTALBUMMAP_DB_ASSET_ID + " = ?";
447 const std::string SMARTALBUM_MAP_DB_COND = SMARTALBUMMAP_DB_ALBUM_ID + " = ? AND " + SMARTALBUMMAP_DB_ASSET_ID + " = ?";
448 const std::string DEVICE_DB_COND = DEVICE_DB_DEVICEID + " = ?";
449 const std::string MEDIA_DEVICE_QUERYALLDEVICE = "query_all_device";
450 const std::string MEDIA_DEVICE_QUERYACTIVEDEVICE = "query_active_device";
451 } // namespace OHOS
452 } // namespace Media
453 #endif // MEDIA_DATA_ABILITY_CONST_H
454