• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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