• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2024 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 
16 #ifndef FRAMEWORKS_INNERKITSIMPL_MEDIA_LIBRARY_INCLUDE_MEDIA_OPERATION_H
17 #define FRAMEWORKS_INNERKITSIMPL_MEDIA_LIBRARY_INCLUDE_MEDIA_OPERATION_H
18 
19 #include <map>
20 #include <string>
21 
22 namespace OHOS {
23 namespace Media {
24 #define EXPORT __attribute__ ((visibility ("default")))
25 enum class EXPORT OperationObject : uint32_t {
26     UNKNOWN_OBJECT = 0,
27     FILESYSTEM_ASSET,
28     FILESYSTEM_PHOTO,
29     FILESYSTEM_AUDIO,
30     FILESYSTEM_DIR,
31     FILESYSTEM_ALBUM,
32     SMART_ALBUM,
33     SMART_ALBUM_MAP,
34     THUMBNAIL,
35     THUMBNAIL_ASTC,
36     SMART_ALBUM_ASSETS,
37     ASSETMAP,
38     ALL_DEVICE,
39     ACTIVE_DEVICE,
40     MEDIA_VOLUME,
41     BUNDLE_PERMISSION,
42     PHOTO_ALBUM,
43     PHOTO_MAP,
44     UFM_PHOTO,
45     UFM_AUDIO,
46     UFM_ALBUM,
47     UFM_MAP,
48     PAH_PHOTO,
49     PAH_ALBUM,
50     PAH_MAP,
51     TOOL_PHOTO,
52     TOOL_AUDIO,
53     TOOL_ALBUM,
54     VISION_START,
55     VISION_OCR = VISION_START,
56     VISION_LABEL,
57     VISION_VIDEO_LABEL,
58     VISION_AESTHETICS,
59     VISION_OBJECT,
60     VISION_RECOMMENDATION,
61     VISION_SEGMENTATION,
62     VISION_COMPOSITION,
63     VISION_TOTAL,
64     VISION_IMAGE_FACE,
65     VISION_VIDEO_FACE,
66     VISION_FACE_TAG,
67     VISION_SALIENCY,
68     VISION_HEAD,
69     VISION_POSE,
70     VISION_END = VISION_POSE,
71     GEO_DICTIONARY,
72     GEO_KNOWLEDGE,
73     GEO_PHOTO,
74     ANALYSIS_PHOTO_ALBUM,
75     ANALYSIS_PHOTO_MAP,
76     PAH_FORM_MAP,
77     SEARCH_TOTAL,  // search
78     INDEX_CONSTRUCTION_STATUS,  //Search Index Build Status
79     STORY_ALBUM,
80     STORY_COVER,
81     STORY_PLAY,
82     USER_PHOTOGRAPHY,
83     PAH_MULTISTAGES_CAPTURE,
84     HIGHLIGHT_COVER,
85     HIGHLIGHT_URI,
86     PAH_MOVING_PHOTO,
87     MISCELLANEOUS,
88     PAH_BATCH_THUMBNAIL_OPERATE,
89     APP_URI_PERMISSION_INNER,
90     MEDIA_APP_URI_PERMISSION,
91     REQUEST_PICTURE,
92     PHOTO_REQUEST_PICTURE_BUFFER,
93     PAH_CLOUD_ENHANCEMENT_OPERATE,
94     PAH_VIDEO,
95     ANALYSIS_ASSET_SD_MAP,
96     ANALYSIS_ALBUM_ASSET_MAP,
97     TAB_OLD_PHOTO,
98     PTP_OPERATION,
99     CLOUD_MEDIA_ASSET_OPERATE,
100     ANALYSIS_ADDRESS,
101 };
102 
103 enum class EXPORT OperationType : uint32_t {
104     UNKNOWN_TYPE = 0,
105     OPEN,
106     CLOSE,
107     CREATE,
108     DELETE,
109     DELETE_TOOL,
110     UPDATE,
111     QUERY,
112     GETCAPACITY,
113     SCAN,
114     TRASH,
115     GENERATE,
116     AGING,
117     DISTRIBUTE_AGING,
118     COPY,
119     INSERT_PERMISSION,
120     ALBUM_ADD_PHOTOS,
121     ALBUM_REMOVE_PHOTOS,
122     ALBUM_RECOVER_ASSETS,
123     ALBUM_SET_NAME,
124     ALBUM_DELETE_ASSETS,                // Delete assets permanently from system
125     TRASH_PHOTO,
126     UPDATE_PENDING,
127     SET_USER_COMMENT,
128     INDEX,
129     COMPAT_ALBUM_DELETE_ASSETS,
130     COMMIT_EDIT,
131     REVERT_EDIT,
132     HIDE,
133     QUERY_HIDDEN,
134     ALBUM_ORDER,
135     OPRN_STORE_FORM_ID,
136     OPRN_REMOVE_FORM_ID,
137     PORTRAIT_DISPLAY_LEVEL,
138     PORTRAIT_IS_ME,
139     PORTRAIT_ALBUM_NAME,
140     PORTRAIT_MERGE_ALBUM,
141     DISMISS_ASSET,
142     PORTRAIT_COVER_URI,
143     DISMISS,
144     GROUP_ALBUM_NAME,
145     GROUP_COVER_URI,
146     SUBMIT_CACHE,
147     BATCH_UPDATE_FAV,
148     BATCH_UPDATE_USER_COMMENT,
149     BATCH_UPDATE_OWNER_ALBUM_ID,
150     SET_PHOTO_QUALITY,
151     ADD_IMAGE,
152     PROCESS_IMAGE,
153     SET_LOCATION,
154     ANALYSIS_INDEX,
155     CANCEL_PROCESS_IMAGE,
156     LOG_MOVING_PHOTO,
157     ADD_FILTERS,
158     DISCARD_CAMERA_PHOTO,
159     SAVE_CAMERA_PHOTO,
160     REMOVE_MSC_TASK,
161     START_GENERATE_THUMBNAILS,
162     STOP_GENERATE_THUMBNAILS,
163     GENERATE_THUMBNAILS_RESTORE,
164     TOOL_QUERY_BY_DISPLAY_NAME,
165     ADD_LOWQUALITY_IMAGE,
166     FINISH_REQUEST_PICTURE,
167     SCAN_WITHOUT_ALBUM_UPDATE,
168     ENHANCEMENT_ADD,
169     ENHANCEMENT_PRIORITIZE,
170     ENHANCEMENT_QUERY,
171     ENHANCEMENT_CANCEL,
172     ENHANCEMENT_CANCEL_ALL,
173     ENHANCEMENT_SYNC,
174     ENHANCEMENT_GET_PAIR,
175     SET_VIDEO_ENHANCEMENT_ATTR,
176     LOG_MEDIALIBRARY_API,
177     SAVE_PICTURE,
178     CLONE_ASSET,
179     DEGENERATE_MOVING_PHOTO,
180     ALL_DUPLICATE_ASSETS,
181     CAN_DEL_DUPLICATE_ASSETS,
182     SET_OWNER_ALBUM_ID,
183     CLOUD_MEDIA_ASSET_TASK_START_FORCE,
184     CLOUD_MEDIA_ASSET_TASK_START_GENTLE,
185     CLOUD_MEDIA_ASSET_TASK_PAUSE,
186     CLOUD_MEDIA_ASSET_TASK_CANCEL,
187     CLOUD_MEDIA_ASSET_TASK_RETAIN_FORCE,
188     CLOUD_MEDIA_ASSET_TASK_STATUS_QUERY,
189 };
190 
191 #define OPRN_OBJ_MAP MediaOperation::GetOprnObjMap()
192 #define TABLE_NAME_MAP MediaOperation::GetTableNameMap()
193 #define OPRN_TYPE_MAP MediaOperation::GetOprnTypeMap()
194 #define OPRN_MAP MediaOperation::GetOprnMap()
195 
196 namespace MediaOperation {
197 const std::map<std::string, OperationObject>& GetOprnObjMap();
198 const std::map<OperationObject, std::map<OperationType, std::string>>& GetTableNameMap();
199 const std::map<std::string, OperationType>& GetOprnTypeMap();
200 const std::map<std::string, OperationObject>& GetOprnMap();
201 } // namespace MediaOperation
202 
203 } // namespace Media
204 } // namespace OHOS
205 
206 #endif // FRAMEWORKS_INNERKITSIMPL_MEDIA_LIBRARY_INCLUDE_MEDIA_OPERATION_H
207