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 class ResourceType { 51 INVALID_RESOURCE = -1, 52 IMAGE_RESOURCE = 1, // corresponds to MEDIA_TYPE_IMAGE 53 VIDEO_RESOURCE, // corresponds to MEDIA_TYPE_VIDEO 54 PHOTO_PROXY, 55 PRIVATE_MOVING_PHOTO_RESOURCE, 56 }; 57 58 enum AnalysisType : int32_t { 59 ANALYSIS_INVALID = -1, 60 ANALYSIS_AESTHETICS_SCORE, 61 ANALYSIS_LABEL, 62 ANALYSIS_OCR, 63 ANALYSIS_FACE, 64 ANALYSIS_OBJECT, 65 ANALYSIS_RECOMMENDATION, 66 ANALYSIS_SEGMENTATION, 67 ANALYSIS_COMPOSITION, 68 ANALYSIS_SALIENCY, 69 ANALYSIS_DETAIL_ADDRESS, 70 ANALYSIS_HUMAN_FACE_TAG, 71 ANALYSIS_HEAD_POSITION, 72 ANALYSIS_BONE_POSE, 73 ANALYSIS_VIDEO_LABEL, 74 ANALYSIS_MULTI_CROP, 75 }; 76 77 enum HighlightAlbumInfoType : int32_t { 78 INVALID_INFO = -1, 79 COVER_INFO, 80 PLAY_INFO 81 }; 82 83 enum HighlightUserActionType : int32_t { 84 INVALID_USER_ACTION = -1, 85 INSERTED_PIC_COUNT, 86 REMOVED_PIC_COUNT, 87 SHARED_SCREENSHOT_COUNT, 88 SHARED_COVER_COUNT, 89 RENAMED_COUNT, 90 CHANGED_COVER_COUNT, 91 RENDER_VIEWED_TIMES = 100, 92 RENDER_VIEWED_DURATION, 93 ART_LAYOUT_VIEWED_TIMES, 94 ART_LAYOUT_VIEWED_DURATION 95 }; 96 97 enum PhotoAlbumType : int32_t { 98 USER = 0, 99 SYSTEM = 1024, 100 SOURCE = 2048, 101 SMART = 4096 102 }; 103 104 enum PhotoAlbumSubType : int32_t { 105 USER_GENERIC = 1, 106 107 SYSTEM_START = 1025, 108 FAVORITE = SYSTEM_START, 109 VIDEO, 110 HIDDEN, 111 TRASH, 112 SCREENSHOT, 113 CAMERA, 114 IMAGE, 115 CLOUD_ENHANCEMENT, 116 SYSTEM_END = CLOUD_ENHANCEMENT, 117 SOURCE_GENERIC = 2049, 118 ANALYSIS_START = 4097, 119 CLASSIFY = ANALYSIS_START, 120 GEOGRAPHY_LOCATION = 4099, 121 GEOGRAPHY_CITY, 122 SHOOTING_MODE = 4101, 123 PORTRAIT = 4102, 124 GROUP_PHOTO = 4103, 125 HIGHLIGHT = 4104, 126 HIGHLIGHT_SUGGESTIONS, 127 ANALYSIS_END = HIGHLIGHT_SUGGESTIONS, 128 ANY = std::numeric_limits<int32_t>::max() 129 }; 130 131 enum class PhotoSubType : int32_t { 132 DEFAULT, 133 SCREENSHOT, 134 CAMERA, 135 MOVING_PHOTO, 136 BURST, 137 SUBTYPE_END 138 }; 139 140 enum class DynamicRangeType : int32_t { 141 SDR, 142 HDR 143 }; 144 145 enum class MovingPhotoEffectMode : int32_t { 146 EFFECT_MODE_START = 0, 147 DEFAULT = EFFECT_MODE_START, 148 BOUNCE_PLAY, 149 LOOP_PLAY, 150 LONG_EXPOSURE, 151 MULTI_EXPOSURE, 152 CINEMA_GRAPH, 153 EFFECT_MODE_END = CINEMA_GRAPH, 154 IMAGE_ONLY = 10 155 }; 156 157 enum class PhotoPositionType : int32_t { 158 LOCAL = 1, 159 CLOUD = 2, 160 LOCAL_AND_CLOUD = 3 161 }; 162 163 enum class CloudEnhancementTaskStage : int32_t { 164 TASK_STAGE_EXCEPTION = -1, 165 TASK_STAGE_PREPARING, 166 TASK_STAGE_UPLOADING, 167 TASK_STAGE_EXECUTING, 168 TASK_STAGE_DOWNLOADING, 169 TASK_STAGE_FAILED, 170 TASK_STAGE_COMPLETED 171 }; 172 173 enum class CloudEnhancementState : int32_t { 174 UNAVAILABLE = 0, 175 AVAILABLE, 176 EXECUTING, 177 COMPLETED 178 }; 179 180 enum class VideoEnhancementType : int32_t { 181 QUALITY_ENHANCEMENT_LOCAL, 182 QUALITY_ENHANCEMENT_CLOUD, 183 QUALITY_ENHANCEMENT_LOCAL_AND_CLOUD, 184 }; 185 186 const std::string URI_PARAM_API_VERSION = "api_version"; 187 188 enum class MediaLibraryApi : uint32_t { 189 API_START = 8, 190 API_OLD = 9, 191 API_10, 192 API_END 193 }; 194 195 enum NotifyType { 196 NOTIFY_ADD, 197 NOTIFY_UPDATE, 198 NOTIFY_REMOVE, 199 NOTIFY_ALBUM_ADD_ASSET, 200 NOTIFY_ALBUM_REMOVE_ASSET, 201 NOTIFY_ALBUM_DISMISS_ASSET, 202 NOTIFY_THUMB_ADD, 203 NOTIFY_THUMB_UPDATE 204 }; 205 206 enum class RequestPhotoType : int32_t { 207 REQUEST_ALL_THUMBNAILS = 0, 208 REQUEST_FAST_THUMBNAIL = 1, 209 REQUEST_QUALITY_THUMBNAIL = 2, 210 REQUEST_TYPE_END 211 }; 212 213 enum class BurstCoverLevelType : int32_t { 214 COVER = 1, 215 MEMBER = 2, 216 DEFAULT = COVER 217 }; 218 219 enum class CoverSatisfiedType : uint8_t { 220 NO_SETTING = 0, 221 DEFAULT_SETTING = 1, 222 USER_SETTING = 2, 223 USER_SETTING_EDITE = 3, 224 BEAUTY_SETTING = 4, 225 BEAUTY_SETTING_EDITE = 5 226 }; 227 228 enum class WatermarkType : int32_t { 229 DEFAULT = 0, 230 BRAND_COMMON, 231 COMMON, 232 BRAND 233 }; 234 } // namespace Media 235 } // namespace OHOS 236 #endif // OHOS_FILEMANAGEMENT_USERFILEMGR_TYPES_H