1 /* 2 * Copyright (C) 2022 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 #ifndef OHOS_FILEMANAGEMENT_USERFILEMGR_TYPES_H 16 #define OHOS_FILEMANAGEMENT_USERFILEMGR_TYPES_H 17 18 #include <limits> 19 #include <string> 20 #include <tuple> 21 #include <vector> 22 23 namespace OHOS { 24 namespace Media { 25 enum class ResultNapiType { 26 TYPE_MEDIALIBRARY, 27 TYPE_USERFILE_MGR, 28 TYPE_PHOTOACCESS_HELPER, 29 TYPE_NAPI_MAX 30 }; 31 32 enum MediaType { 33 MEDIA_TYPE_FILE, 34 MEDIA_TYPE_IMAGE, 35 MEDIA_TYPE_VIDEO, 36 MEDIA_TYPE_AUDIO, 37 MEDIA_TYPE_MEDIA, 38 MEDIA_TYPE_ALBUM_LIST, 39 MEDIA_TYPE_ALBUM_LIST_INFO, 40 MEDIA_TYPE_ALBUM, 41 MEDIA_TYPE_SMARTALBUM, 42 MEDIA_TYPE_DEVICE, 43 MEDIA_TYPE_REMOTEFILE, 44 MEDIA_TYPE_NOFILE, 45 MEDIA_TYPE_PHOTO, 46 MEDIA_TYPE_ALL, 47 MEDIA_TYPE_DEFAULT, 48 }; 49 50 enum PhotoAlbumType : int32_t { 51 USER = 0, 52 SYSTEM = 1024 53 }; 54 55 enum PhotoAlbumSubType : int32_t { 56 USER_GENERIC = 1, 57 58 SYSTEM_START = 1025, 59 FAVORITE = SYSTEM_START, 60 VIDEO, 61 HIDDEN, 62 TRASH, 63 SCREENSHOT, 64 CAMERA, 65 IMAGES, 66 SYSTEM_END = IMAGES, 67 ANY = std::numeric_limits<int32_t>::max() 68 }; 69 70 const std::vector<std::string> ALL_SYS_PHOTO_ALBUM = { 71 std::to_string(PhotoAlbumSubType::FAVORITE), 72 std::to_string(PhotoAlbumSubType::VIDEO), 73 std::to_string(PhotoAlbumSubType::HIDDEN), 74 std::to_string(PhotoAlbumSubType::TRASH), 75 std::to_string(PhotoAlbumSubType::SCREENSHOT), 76 std::to_string(PhotoAlbumSubType::CAMERA), 77 std::to_string(PhotoAlbumSubType::IMAGES), 78 }; 79 80 enum class PhotoSubType : int32_t { 81 DEFAULT, 82 SCREENSHOT, 83 CAMERA 84 }; 85 86 const std::string URI_PARAM_API_VERSION = "api_version"; 87 88 enum class MediaLibraryApi : uint32_t { 89 API_START = 8, 90 API_OLD = 9, 91 API_10, 92 API_END 93 }; 94 95 enum NotifyType { 96 NOTIFY_ADD, 97 NOTIFY_UPDATE, 98 NOTIFY_REMOVE, 99 NOTIFY_ALBUM_ADD_ASSERT, 100 NOTIFY_ALBUM_REMOVE_ASSET 101 }; 102 } // namespace Media 103 } // namespace OHOS 104 #endif // OHOS_FILEMANAGEMENT_USERFILEMGR_TYPES_H 105