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