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