• 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 };
99 
100 enum class EXPORT OperationType : uint32_t {
101     UNKNOWN_TYPE = 0,
102     OPEN,
103     CLOSE,
104     CREATE,
105     DELETE,
106     DELETE_TOOL,
107     UPDATE,
108     QUERY,
109     GETCAPACITY,
110     SCAN,
111     TRASH,
112     GENERATE,
113     AGING,
114     DISTRIBUTE_AGING,
115     COPY,
116     INSERT_PERMISSION,
117     ALBUM_ADD_PHOTOS,
118     ALBUM_REMOVE_PHOTOS,
119     ALBUM_RECOVER_ASSETS,
120     ALBUM_SET_NAME,
121     ALBUM_DELETE_ASSETS,                // Delete assets permanently from system
122     TRASH_PHOTO,
123     UPDATE_PENDING,
124     SET_USER_COMMENT,
125     INDEX,
126     COMPAT_ALBUM_DELETE_ASSETS,
127     COMMIT_EDIT,
128     REVERT_EDIT,
129     HIDE,
130     QUERY_HIDDEN,
131     ALBUM_ORDER,
132     OPRN_STORE_FORM_ID,
133     OPRN_REMOVE_FORM_ID,
134     PORTRAIT_DISPLAY_LEVEL,
135     PORTRAIT_IS_ME,
136     PORTRAIT_ALBUM_NAME,
137     PORTRAIT_MERGE_ALBUM,
138     DISMISS_ASSET,
139     PORTRAIT_COVER_URI,
140     DISMISS,
141     GROUP_ALBUM_NAME,
142     GROUP_COVER_URI,
143     SUBMIT_CACHE,
144     BATCH_UPDATE_FAV,
145     BATCH_UPDATE_USER_COMMENT,
146     BATCH_UPDATE_OWNER_ALBUM_ID,
147     SET_PHOTO_QUALITY,
148     ADD_IMAGE,
149     PROCESS_IMAGE,
150     SET_LOCATION,
151     ANALYSIS_INDEX,
152     CANCEL_PROCESS_IMAGE,
153     LOG_MOVING_PHOTO,
154     ADD_FILTERS,
155     DISCARD_CAMERA_PHOTO,
156     SAVE_CAMERA_PHOTO,
157     REMOVE_MSC_TASK,
158     START_GENERATE_THUMBNAILS,
159     STOP_GENERATE_THUMBNAILS,
160     GENERATE_THUMBNAILS_RESTORE,
161     TOOL_QUERY_BY_DISPLAY_NAME,
162     ADD_LOWQUALITY_IMAGE,
163     FINISH_REQUEST_PICTURE,
164     SCAN_WITHOUT_ALBUM_UPDATE,
165     ENHANCEMENT_ADD,
166     ENHANCEMENT_PRIORITIZE,
167     ENHANCEMENT_QUERY,
168     ENHANCEMENT_CANCEL,
169     ENHANCEMENT_CANCEL_ALL,
170     ENHANCEMENT_SYNC,
171     ENHANCEMENT_GET_PAIR,
172     SET_VIDEO_ENHANCEMENT_ATTR,
173     LOG_MEDIALIBRARY_API,
174     SAVE_PICTURE,
175     DEGENERATE_MOVING_PHOTO,
176 };
177 
178 #define OPRN_OBJ_MAP MediaOperation::GetOprnObjMap()
179 #define TABLE_NAME_MAP MediaOperation::GetTableNameMap()
180 #define OPRN_TYPE_MAP MediaOperation::GetOprnTypeMap()
181 #define OPRN_MAP MediaOperation::GetOprnMap()
182 
183 namespace MediaOperation {
184 const std::map<std::string, OperationObject>& GetOprnObjMap();
185 const std::map<OperationObject, std::map<OperationType, std::string>>& GetTableNameMap();
186 const std::map<std::string, OperationType>& GetOprnTypeMap();
187 const std::map<std::string, OperationObject>& GetOprnMap();
188 } // namespace MediaOperation
189 
190 } // namespace Media
191 } // namespace OHOS
192 
193 #endif // FRAMEWORKS_INNERKITSIMPL_MEDIA_LIBRARY_INCLUDE_MEDIA_OPERATION_H
194