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 USER = 0, 101 SYSTEM = 1024, 102 SOURCE = 2048, 103 SMART = 4096 104 }; 105 106 enum PhotoAlbumSubType : int32_t { 107 USER_GENERIC = 1, 108 109 SYSTEM_START = 1025, 110 FAVORITE = SYSTEM_START, 111 VIDEO, 112 HIDDEN, 113 TRASH, 114 SCREENSHOT, 115 CAMERA, 116 IMAGE, 117 CLOUD_ENHANCEMENT, 118 SYSTEM_END = CLOUD_ENHANCEMENT, 119 SOURCE_GENERIC = 2049, 120 ANALYSIS_START = 4097, 121 CLASSIFY = ANALYSIS_START, 122 GEOGRAPHY_LOCATION = 4099, 123 GEOGRAPHY_CITY, 124 SHOOTING_MODE = 4101, 125 PORTRAIT = 4102, 126 GROUP_PHOTO = 4103, 127 HIGHLIGHT = 4104, 128 HIGHLIGHT_SUGGESTIONS, 129 ANALYSIS_END = HIGHLIGHT_SUGGESTIONS, 130 ANY = std::numeric_limits<int32_t>::max() 131 }; 132 133 enum class PhotoSubType : int32_t { 134 DEFAULT, 135 SCREENSHOT, 136 CAMERA, 137 MOVING_PHOTO, 138 BURST, 139 SUBTYPE_END 140 }; 141 142 enum class DynamicRangeType : int32_t { 143 SDR, 144 HDR 145 }; 146 147 enum class MovingPhotoEffectMode : int32_t { 148 EFFECT_MODE_START = 0, 149 DEFAULT = EFFECT_MODE_START, 150 BOUNCE_PLAY, 151 LOOP_PLAY, 152 LONG_EXPOSURE, 153 MULTI_EXPOSURE, 154 CINEMA_GRAPH, 155 EFFECT_MODE_END = CINEMA_GRAPH, 156 IMAGE_ONLY = 10 157 }; 158 159 enum class PhotoPositionType : int32_t { 160 LOCAL = 1, 161 CLOUD = 2, 162 LOCAL_AND_CLOUD = 3 163 }; 164 165 enum class PhotoThumbStatusType : int32_t { 166 DOWNLOADED = 0, 167 NOT_DOWNLOADED = 3 168 }; 169 170 enum class CloudEnhancementTaskStage : int32_t { 171 TASK_STAGE_EXCEPTION = -1, 172 TASK_STAGE_PREPARING, 173 TASK_STAGE_UPLOADING, 174 TASK_STAGE_EXECUTING, 175 TASK_STAGE_DOWNLOADING, 176 TASK_STAGE_FAILED, 177 TASK_STAGE_COMPLETED 178 }; 179 180 enum class CloudEnhancementState : int32_t { 181 UNAVAILABLE = 0, 182 AVAILABLE, 183 EXECUTING, 184 COMPLETED 185 }; 186 187 enum class VideoEnhancementType : int32_t { 188 QUALITY_ENHANCEMENT_LOCAL, 189 QUALITY_ENHANCEMENT_CLOUD, 190 QUALITY_ENHANCEMENT_LOCAL_AND_CLOUD, 191 }; 192 193 const std::string URI_PARAM_API_VERSION = "api_version"; 194 195 enum class MediaLibraryApi : uint32_t { 196 API_START = 8, 197 API_OLD = 9, 198 API_10, 199 API_END 200 }; 201 202 enum NotifyType { 203 NOTIFY_ADD, 204 NOTIFY_UPDATE, 205 NOTIFY_REMOVE, 206 NOTIFY_ALBUM_ADD_ASSET, 207 NOTIFY_ALBUM_REMOVE_ASSET, 208 NOTIFY_ALBUM_DISMISS_ASSET, 209 NOTIFY_THUMB_ADD, 210 NOTIFY_THUMB_UPDATE, 211 NOTIFY_INVALID 212 }; 213 214 enum class RequestPhotoType : int32_t { 215 REQUEST_ALL_THUMBNAILS = 0, 216 REQUEST_FAST_THUMBNAIL = 1, 217 REQUEST_QUALITY_THUMBNAIL = 2, 218 REQUEST_TYPE_END 219 }; 220 221 enum class BurstCoverLevelType : int32_t { 222 COVER = 1, 223 MEMBER = 2, 224 DEFAULT = COVER 225 }; 226 227 enum class CoverSatisfiedType : uint8_t { 228 NO_SETTING = 0, 229 DEFAULT_SETTING = 1, 230 USER_SETTING = 2, 231 USER_SETTING_EDITE = 3, 232 BEAUTY_SETTING = 4, 233 BEAUTY_SETTING_EDITE = 5 234 }; 235 236 enum class WatermarkType : int32_t { 237 DEFAULT = 0, 238 BRAND_COMMON, 239 COMMON, 240 BRAND 241 }; 242 } // namespace Media 243 } // namespace OHOS 244 #endif // OHOS_FILEMANAGEMENT_USERFILEMGR_TYPES_H