• 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     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