• 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     IMAGE_RESOURCE = 1, // corresponds to MEDIA_TYPE_IMAGE
50     VIDEO_RESOURCE, // corresponds to MEDIA_TYPE_VIDEO
51     PHOTO_PROXY,
52 };
53 
54 enum AnalysisType : int32_t {
55     ANALYSIS_INVALID = -1,
56     ANALYSIS_AESTHETICS_SCORE,
57     ANALYSIS_LABEL,
58     ANALYSIS_OCR,
59     ANALYSIS_FACE,
60     ANALYSIS_OBJECT,
61     ANALYSIS_RECOMMENDATION,
62     ANALYSIS_SEGMENTATION,
63     ANALYSIS_COMPOSITION,
64     ANALYSIS_SALIENCY,
65     ANALYSIS_DETAIL_ADDRESS,
66 };
67 
68 enum PhotoAlbumType : int32_t {
69     USER = 0,
70     SYSTEM = 1024,
71     SOURCE = 2048,
72     SMART = 4096
73 };
74 
75 enum PhotoAlbumSubType : int32_t {
76     USER_GENERIC = 1,
77 
78     SYSTEM_START = 1025,
79     FAVORITE = SYSTEM_START,
80     VIDEO,
81     HIDDEN,
82     TRASH,
83     SCREENSHOT,
84     CAMERA,
85     IMAGE,
86     SYSTEM_END = IMAGE,
87     SOURCE_GENERIC = 2049,
88     ANALYSIS_START = 4097,
89     CLASSIFY = ANALYSIS_START,
90     GEOGRAPHY_LOCATION = 4099,
91     GEOGRAPHY_CITY,
92     SHOOTING_MODE,
93     PORTRAIT = 4102,
94     ANALYSIS_END = PORTRAIT,
95     ANY = std::numeric_limits<int32_t>::max()
96 };
97 
98 const std::vector<std::string> ALL_SYS_PHOTO_ALBUM = {
99     std::to_string(PhotoAlbumSubType::FAVORITE),
100     std::to_string(PhotoAlbumSubType::VIDEO),
101     std::to_string(PhotoAlbumSubType::HIDDEN),
102     std::to_string(PhotoAlbumSubType::TRASH),
103     std::to_string(PhotoAlbumSubType::SCREENSHOT),
104     std::to_string(PhotoAlbumSubType::CAMERA),
105     std::to_string(PhotoAlbumSubType::IMAGE),
106     std::to_string(PhotoAlbumSubType::SOURCE_GENERIC),
107 };
108 
109 enum class PhotoSubType : int32_t {
110     DEFAULT,
111     SCREENSHOT,
112     CAMERA
113 };
114 
115 const std::string URI_PARAM_API_VERSION = "api_version";
116 
117 enum class MediaLibraryApi : uint32_t {
118     API_START = 8,
119     API_OLD = 9,
120     API_10,
121     API_END
122 };
123 
124 enum NotifyType {
125     NOTIFY_ADD,
126     NOTIFY_UPDATE,
127     NOTIFY_REMOVE,
128     NOTIFY_ALBUM_ADD_ASSET,
129     NOTIFY_ALBUM_REMOVE_ASSET,
130     NOTIFY_ALBUM_DISMISS_ASSET,
131     NOTIFY_THUMB_ADD,
132     NOTIFY_THUMB_UPDATE
133 };
134 
135 enum class RequestPhotoType : int32_t {
136     REQUEST_ALL_THUMBNAILS = 0,
137     REQUEST_FAST_THUMBNAIL = 1,
138     REQUEST_QUALITY_THUMBNAIL = 2,
139     REQUEST_TYPE_END
140 };
141 } // namespace Media
142 } // namespace OHOS
143 #endif // OHOS_FILEMANAGEMENT_USERFILEMGR_TYPES_H
144