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 #include "medialibrary_operation.h"
17
18 #include "abs_rdb_predicates.h"
19 #include "datashare_predicates.h"
20 #include "dir_asset.h"
21 #include "form_map.h"
22 #include "location_column.h"
23 #include "media_app_uri_permission_column.h"
24 #include "media_column.h"
25 #include "media_old_photos_column.h"
26 #include "medialibrary_db_const.h"
27 #include "photo_album_column.h"
28 #include "photo_map_column.h"
29 #include "ptp_medialibrary_manager_uri.h"
30 #include "search_column.h"
31 #include "story_album_column.h"
32 #include "story_cover_info_column.h"
33 #include "story_play_info_column.h"
34 #include "user_photography_info_column.h"
35 #include "uri.h"
36 #include "values_bucket.h"
37 #include "vision_column.h"
38
39 namespace OHOS {
40 namespace Media {
41 namespace MediaOperation {
GetOprnObjMap()42 const std::map<std::string, OperationObject>& GetOprnObjMap()
43 {
44 static std::map<std::string, OperationObject> oprnObjMap = {
45 // use in Insert...
46 { MEDIA_FILEOPRN, OperationObject::FILESYSTEM_ASSET },
47 { MEDIA_PHOTOOPRN, OperationObject::FILESYSTEM_PHOTO },
48 { MEDIA_AUDIOOPRN, OperationObject::FILESYSTEM_AUDIO },
49 { MEDIA_APP_URI_PERMISSIONOPRN, OperationObject::MEDIA_APP_URI_PERMISSION },
50 { MEDIA_DIROPRN, OperationObject::FILESYSTEM_DIR },
51 { MEDIA_ALBUMOPRN, OperationObject::FILESYSTEM_ALBUM },
52 { MEDIA_SMARTALBUMOPRN, OperationObject::SMART_ALBUM },
53 { MEDIA_SMARTALBUMMAPOPRN, OperationObject::SMART_ALBUM_MAP },
54 { BUNDLE_PERMISSION_INSERT, OperationObject::BUNDLE_PERMISSION },
55 { PHOTO_ALBUM_OPRN, OperationObject::PHOTO_ALBUM },
56 { PHOTO_MAP_OPRN, OperationObject::PHOTO_MAP },
57 { UFM_PHOTO, OperationObject::UFM_PHOTO },
58 { UFM_AUDIO, OperationObject::UFM_AUDIO },
59 { UFM_ALBUM, OperationObject::UFM_ALBUM },
60 { UFM_MAP, OperationObject::UFM_MAP },
61 { PAH_PHOTO, OperationObject::PAH_PHOTO },
62 { PAH_ALBUM, OperationObject::PAH_ALBUM },
63 { PAH_MAP, OperationObject::PAH_MAP },
64 { PAH_ANA_ALBUM, OperationObject::ANALYSIS_PHOTO_ALBUM },
65 { PAH_ANA_MAP, OperationObject::ANALYSIS_PHOTO_MAP },
66 { TOOL_PHOTO, OperationObject::TOOL_PHOTO },
67 { TOOL_AUDIO, OperationObject::TOOL_AUDIO },
68 { TOOL_ALBUM, OperationObject::TOOL_ALBUM },
69 { PAH_FORM_MAP, OperationObject::PAH_FORM_MAP },
70 { GRANT_URI_PERMISSION, OperationObject::APP_URI_PERMISSION_INNER },
71 { PAH_VIDEO, OperationObject::PAH_VIDEO },
72
73 // use in Query...
74 { MEDIATYPE_DIRECTORY_TABLE, OperationObject::FILESYSTEM_DIR },
75 { MEDIA_DATA_DB_THUMBNAIL, OperationObject::THUMBNAIL },
76 { SMARTALBUMASSETS_VIEW_NAME, OperationObject::SMART_ALBUM_ASSETS },
77 { ASSETMAP_VIEW_NAME, OperationObject::ASSETMAP },
78 { MEDIA_DEVICE_QUERYALLDEVICE, OperationObject::ALL_DEVICE },
79 { MEDIA_DEVICE_QUERYACTIVEDEVICE, OperationObject::ACTIVE_DEVICE },
80 { MEDIA_ALBUMOPRN_QUERYALBUM, OperationObject::FILESYSTEM_ALBUM },
81 { SMARTALBUM_TABLE, OperationObject::SMART_ALBUM },
82 { SMARTALBUM_MAP_TABLE, OperationObject::SMART_ALBUM_MAP },
83 { MEDIA_QUERYOPRN_QUERYVOLUME, OperationObject::MEDIA_VOLUME },
84 { PAH_MULTISTAGES_CAPTURE, OperationObject::PAH_MULTISTAGES_CAPTURE },
85 { MEDIA_MOVING_PHOTO_OPRN_KEYWORD, OperationObject::PAH_MOVING_PHOTO },
86 { PAH_BATCH_THUMBNAIL_OPERATE, OperationObject::PAH_BATCH_THUMBNAIL_OPERATE },
87 { CHECK_URI_PERMISSION, OperationObject::APP_URI_PERMISSION_INNER },
88 { PAH_CLOUD_ENHANCEMENT_OPERATE, OperationObject::PAH_CLOUD_ENHANCEMENT_OPERATE },
89 { TAB_OLD_PHOTO, OperationObject::TAB_OLD_PHOTO },
90 { CLOUD_MEDIA_ASSET_OPERATE, OperationObject::CLOUD_MEDIA_ASSET_OPERATE},
91
92 // use in Vision
93 { PAH_ANA_OCR, OperationObject::VISION_OCR },
94 { PAH_ANA_LABEL, OperationObject::VISION_LABEL },
95 { PAH_ANA_VIDEO_LABEL, OperationObject::VISION_VIDEO_LABEL },
96 { PAH_ANA_ATTS, OperationObject::VISION_AESTHETICS },
97 { PAH_ANA_TOTAL, OperationObject::VISION_TOTAL },
98 { VISION_IMAGE_FACE_TABLE, OperationObject::VISION_IMAGE_FACE },
99 { VISION_VIDEO_FACE_TABLE, OperationObject::VISION_VIDEO_FACE },
100 { VISION_FACE_TAG_TABLE, OperationObject::VISION_FACE_TAG },
101 { VISION_SALIENCY_TABLE, OperationObject::VISION_SALIENCY },
102 { PAH_ANA_FACE, OperationObject::VISION_IMAGE_FACE },
103 { PAH_ANA_OBJECT, OperationObject::VISION_OBJECT },
104 { PAH_ANA_RECOMMENDATION, OperationObject::VISION_RECOMMENDATION },
105 { PAH_ANA_SEGMENTATION, OperationObject::VISION_SEGMENTATION },
106 { PAH_ANA_COMPOSITION, OperationObject::VISION_COMPOSITION },
107 { PAH_ANA_SALIENCY, OperationObject::VISION_SALIENCY },
108 { PAH_ANA_FACE_TAG, OperationObject::VISION_FACE_TAG },
109 { PAH_ANA_HEAD, OperationObject::VISION_HEAD },
110 { PAH_ANA_POSE, OperationObject::VISION_POSE },
111
112 // use in Location Analyse
113 { GEO_DICTIONARY_TABLE, OperationObject::GEO_DICTIONARY },
114 { GEO_KNOWLEDGE_TABLE, OperationObject::GEO_KNOWLEDGE },
115 { PAH_ANA_ADDRESS, OperationObject::GEO_PHOTO },
116 { PAH_GEO_PHOTOS, OperationObject::GEO_PHOTO },
117
118 // use in search
119 { SEARCH_TOTAL_TABLE, OperationObject::SEARCH_TOTAL },
120 { SEARCH_INDEX_CONSTRUCTION_STATUS, OperationObject::INDEX_CONSTRUCTION_STATUS },
121
122 // use in story
123 { HIGHLIGHT_ALBUM_TABLE, OperationObject::STORY_ALBUM },
124 { HIGHLIGHT_COVER_INFO_TABLE, OperationObject::STORY_COVER },
125 { HIGHLIGHT_PLAY_INFO_TABLE, OperationObject::STORY_PLAY },
126 { USER_PHOTOGRAPHY_INFO_TABLE, OperationObject::USER_PHOTOGRAPHY },
127 { PAH_HIGHLIGHT_COVER, OperationObject::STORY_COVER },
128 { PAH_HIGHLIGHT_PLAY, OperationObject::STORY_PLAY },
129 { PAH_ANA_ASSET_SD, OperationObject::ANALYSIS_ASSET_SD_MAP },
130 { PAH_ANA_ALBUM_ASSET, OperationObject::ANALYSIS_ALBUM_ASSET_MAP },
131
132 // others
133 { MISC_OPERATION, OperationObject::MISCELLANEOUS },
134 { PTP_OPERATION, OperationObject::PTP_OPERATION },
135 };
136 return oprnObjMap;
137 }
138
GetTableNameMap()139 const std::map<OperationObject, std::map<OperationType, std::string>>& GetTableNameMap()
140 {
141 static std::map<OperationObject, std::map<OperationType, std::string>> tableNameMap = {
142 { OperationObject::SMART_ALBUM, { { OperationType::UNKNOWN_TYPE, SMARTALBUM_TABLE } } },
143 { OperationObject::SMART_ALBUM_MAP, { { OperationType::UNKNOWN_TYPE, SMARTALBUM_MAP_TABLE } } },
144 { OperationObject::SMART_ALBUM_ASSETS, { { OperationType::UNKNOWN_TYPE, SMARTALBUMASSETS_VIEW_NAME } } },
145 { OperationObject::ASSETMAP, { { OperationType::UNKNOWN_TYPE, ASSETMAP_VIEW_NAME } } },
146 { OperationObject::FILESYSTEM_DIR, { { OperationType::QUERY, MEDIATYPE_DIRECTORY_TABLE } } },
147 #ifdef MEDIALIBRARY_COMPATIBILITY
148 { OperationObject::FILESYSTEM_ALBUM, { { OperationType::QUERY, PhotoAlbumColumns::TABLE } } },
149 #else
150 { OperationObject::FILESYSTEM_ALBUM, { { OperationType::QUERY, ALBUM_VIEW_NAME } } },
151 #endif
152 { OperationObject::ALL_DEVICE, { { OperationType::UNKNOWN_TYPE, DEVICE_TABLE } } },
153 { OperationObject::ACTIVE_DEVICE, { { OperationType::UNKNOWN_TYPE, DEVICE_TABLE } } },
154 { OperationObject::BUNDLE_PERMISSION, { { OperationType::UNKNOWN_TYPE, BUNDLE_PERMISSION_TABLE } } },
155 { OperationObject::FILESYSTEM_PHOTO, { { OperationType::UNKNOWN_TYPE, PhotoColumn::PHOTOS_TABLE } } },
156 { OperationObject::FILESYSTEM_AUDIO, { { OperationType::UNKNOWN_TYPE, AudioColumn::AUDIOS_TABLE } } },
157 { OperationObject::MEDIA_APP_URI_PERMISSION,
158 { { OperationType::UNKNOWN_TYPE, AppUriPermissionColumn::APP_URI_PERMISSION_TABLE } } },
159 { OperationObject::PHOTO_ALBUM, { { OperationType::UNKNOWN_TYPE, PhotoAlbumColumns::TABLE } } },
160 { OperationObject::PHOTO_MAP, { { OperationType::UNKNOWN_TYPE, PhotoMap::TABLE } } },
161 { OperationObject::UFM_PHOTO, { { OperationType::UNKNOWN_TYPE, PhotoColumn::PHOTOS_TABLE } } },
162 { OperationObject::UFM_AUDIO, { { OperationType::UNKNOWN_TYPE, AudioColumn::AUDIOS_TABLE } } },
163 { OperationObject::UFM_ALBUM, { { OperationType::UNKNOWN_TYPE, PhotoAlbumColumns::TABLE } } },
164 { OperationObject::UFM_MAP, { { OperationType::UNKNOWN_TYPE, PhotoMap::TABLE } } },
165 { OperationObject::PAH_PHOTO, { { OperationType::UNKNOWN_TYPE, PhotoColumn::PHOTOS_TABLE } } },
166 { OperationObject::PAH_ALBUM, { { OperationType::UNKNOWN_TYPE, PhotoAlbumColumns::TABLE } } },
167 { OperationObject::PAH_MAP, { { OperationType::UNKNOWN_TYPE, PhotoMap::TABLE } } },
168 { OperationObject::TOOL_PHOTO, { { OperationType::UNKNOWN_TYPE, PhotoColumn::PHOTOS_TABLE } } },
169 { OperationObject::TOOL_AUDIO, { { OperationType::UNKNOWN_TYPE, AudioColumn::AUDIOS_TABLE } } },
170 { OperationObject::TOOL_ALBUM, { { OperationType::UNKNOWN_TYPE, PhotoAlbumColumns::TABLE } } },
171 { OperationObject::VISION_OCR, { { OperationType::UNKNOWN_TYPE, VISION_OCR_TABLE } } },
172 { OperationObject::VISION_LABEL, { { OperationType::UNKNOWN_TYPE, VISION_LABEL_TABLE } } },
173 { OperationObject::VISION_VIDEO_LABEL, { { OperationType::UNKNOWN_TYPE, VISION_VIDEO_LABEL_TABLE } } },
174 { OperationObject::VISION_AESTHETICS, { { OperationType::UNKNOWN_TYPE, VISION_AESTHETICS_TABLE } } },
175 { OperationObject::VISION_SALIENCY, { { OperationType::UNKNOWN_TYPE, VISION_SALIENCY_TABLE } } },
176 { OperationObject::VISION_OBJECT, { { OperationType::UNKNOWN_TYPE, VISION_OBJECT_TABLE } } },
177 { OperationObject::VISION_RECOMMENDATION, { { OperationType::UNKNOWN_TYPE, VISION_RECOMMENDATION_TABLE } } },
178 { OperationObject::VISION_SEGMENTATION, { { OperationType::UNKNOWN_TYPE, VISION_SEGMENTATION_TABLE } } },
179 { OperationObject::VISION_COMPOSITION, { { OperationType::UNKNOWN_TYPE, VISION_COMPOSITION_TABLE } } },
180 { OperationObject::VISION_HEAD, { { OperationType::UNKNOWN_TYPE, VISION_HEAD_TABLE } } },
181 { OperationObject::VISION_POSE, { { OperationType::UNKNOWN_TYPE, VISION_POSE_TABLE } } },
182 { OperationObject::VISION_TOTAL, { { OperationType::UNKNOWN_TYPE, VISION_TOTAL_TABLE } } },
183 { OperationObject::VISION_IMAGE_FACE, { { OperationType::UNKNOWN_TYPE, VISION_IMAGE_FACE_TABLE } } },
184 { OperationObject::VISION_VIDEO_FACE, { { OperationType::UNKNOWN_TYPE, VISION_VIDEO_FACE_TABLE } } },
185 { OperationObject::VISION_FACE_TAG, { { OperationType::UNKNOWN_TYPE, VISION_FACE_TAG_TABLE } } },
186 { OperationObject::GEO_DICTIONARY, { { OperationType::UNKNOWN_TYPE, GEO_DICTIONARY_TABLE } } },
187 { OperationObject::GEO_KNOWLEDGE, { { OperationType::UNKNOWN_TYPE, GEO_KNOWLEDGE_TABLE } } },
188 { OperationObject::GEO_PHOTO, { { OperationType::UNKNOWN_TYPE, PhotoColumn::PHOTOS_TABLE } } },
189 { OperationObject::ANALYSIS_PHOTO_ALBUM, { { OperationType::UNKNOWN_TYPE, ANALYSIS_ALBUM_TABLE } } },
190 { OperationObject::ANALYSIS_PHOTO_MAP, { { OperationType::UNKNOWN_TYPE, ANALYSIS_PHOTO_MAP_TABLE } } },
191 { OperationObject::PAH_FORM_MAP, { { OperationType::UNKNOWN_TYPE, FormMap::FORM_MAP_TABLE } } },
192 { OperationObject::TAB_OLD_PHOTO, { { OperationType::UNKNOWN_TYPE, TabOldPhotosColumn::OLD_PHOTOS_TABLE } }},
193
194 // search
195 { OperationObject::SEARCH_TOTAL, { { OperationType::UNKNOWN_TYPE, SEARCH_TOTAL_TABLE } } },
196 { OperationObject::INDEX_CONSTRUCTION_STATUS,
197 { { OperationType::UNKNOWN_TYPE, SEARCH_INDEX_CONSTRUCTION_STATUS } } },
198
199 // story
200 { OperationObject::STORY_ALBUM, { { OperationType::UNKNOWN_TYPE, HIGHLIGHT_ALBUM_TABLE } } },
201 { OperationObject::STORY_COVER, { { OperationType::UNKNOWN_TYPE, HIGHLIGHT_COVER_INFO_TABLE } } },
202 { OperationObject::STORY_PLAY, { { OperationType::UNKNOWN_TYPE, HIGHLIGHT_PLAY_INFO_TABLE } } },
203 { OperationObject::ANALYSIS_ASSET_SD_MAP, { { OperationType::UNKNOWN_TYPE, ANALYSIS_ASSET_SD_MAP_TABLE } } },
204 { OperationObject::ANALYSIS_ALBUM_ASSET_MAP,
205 { { OperationType::UNKNOWN_TYPE, ANALYSIS_ALBUM_ASSET_MAP_TABLE } } },
206 { OperationObject::USER_PHOTOGRAPHY, { { OperationType::UNKNOWN_TYPE, USER_PHOTOGRAPHY_INFO_TABLE } } },
207 { OperationObject::APP_URI_PERMISSION_INNER,
208 { { OperationType::UNKNOWN_TYPE, AppUriPermissionColumn::APP_URI_PERMISSION_TABLE } } },
209 { OperationObject::PTP_OPERATION, { { OperationType::UNKNOWN_TYPE, PhotoColumn::PHOTOS_TABLE } }},
210 { OperationObject::CLOUD_MEDIA_ASSET_OPERATE, { { OperationType::UNKNOWN_TYPE, PhotoColumn::PHOTOS_TABLE } } },
211 };
212 return tableNameMap;
213 }
214
GetOprnTypeMap()215 const std::map<std::string, OperationType>& GetOprnTypeMap()
216 {
217 static std::map<std::string, OperationType> oprnTypeMap = {
218 { MEDIA_FILEOPRN_CLOSEASSET, OperationType::CLOSE },
219 { MEDIA_FILEOPRN_CREATEASSET, OperationType::CREATE },
220 { MEDIA_ALBUMOPRN_CREATEALBUM, OperationType::CREATE },
221 { MEDIA_FILEOPRN_DELETEASSET, OperationType::DELETE },
222 { MEDIA_ALBUMOPRN_DELETEALBUM, OperationType::DELETE },
223 { MEDIA_FILEOPRN_MODIFYASSET, OperationType::UPDATE },
224 { MEDIA_ALBUMOPRN_MODIFYALBUM, OperationType::UPDATE },
225 { MEDIA_ALBUMOPRN_QUERYALBUM, OperationType::QUERY },
226 { MEDIA_FILEOPRN_GETALBUMCAPACITY, OperationType::QUERY },
227 { MEDIA_QUERYOPRN_QUERYVOLUME, OperationType::QUERY },
228 { MEDIA_BOARDCASTOPRN, OperationType::SCAN },
229 { OPRN_SCAN, OperationType::SCAN },
230 { OPRN_DELETE_BY_TOOL, OperationType::DELETE_TOOL },
231 { MEDIA_FILEOPRN_COPYASSET, OperationType::COPY },
232 { MEDIA_DIROPRN_DELETEDIR, OperationType::DELETE },
233 { MEDIA_DIROPRN_FMS_CREATEDIR, OperationType::CREATE },
234 { MEDIA_DIROPRN_FMS_DELETEDIR, OperationType::DELETE },
235 { MEDIA_DIROPRN_FMS_TRASHDIR, OperationType::TRASH },
236 { MEDIA_SMARTALBUMOPRN_CREATEALBUM, OperationType::CREATE },
237 { MEDIA_SMARTALBUMOPRN_DELETEALBUM, OperationType::DELETE },
238 { MEDIA_SMARTALBUMMAPOPRN_ADDSMARTALBUM, OperationType::CREATE },
239 { MEDIA_SMARTALBUMMAPOPRN_REMOVESMARTALBUM, OperationType::DELETE },
240 { MEDIA_SMARTALBUMMAPOPRN_AGEINGSMARTALBUM, OperationType::AGING },
241 { MEDIA_SMARTALBUMOPRN_MODIFYALBUM, OperationType::UPDATE },
242 { BUNDLE_PERMISSION_INSERT, OperationType::INSERT_PERMISSION },
243 { OPRN_CREATE, OperationType::CREATE },
244 { OPRN_CREATE_COMPONENT, OperationType::CREATE },
245 { OPRN_DELETE, OperationType::DELETE },
246 { OPRN_QUERY, OperationType::QUERY },
247 { OPRN_UPDATE, OperationType::UPDATE },
248 { OPRN_ALBUM_SET_NAME, OperationType::ALBUM_SET_NAME },
249 { OPRN_ALBUM_ADD_PHOTOS, OperationType::ALBUM_ADD_PHOTOS },
250 { OPRN_ALBUM_REMOVE_PHOTOS, OperationType::ALBUM_REMOVE_PHOTOS },
251 { OPRN_RECOVER_PHOTOS, OperationType::ALBUM_RECOVER_ASSETS },
252 { OPRN_DELETE_PHOTOS, OperationType::ALBUM_DELETE_ASSETS },
253 { OPRN_COMPAT_DELETE_PHOTOS, OperationType::COMPAT_ALBUM_DELETE_ASSETS },
254 { OPRN_CLOSE, OperationType::CLOSE },
255 { OPRN_TRASH, OperationType::TRASH_PHOTO },
256 { OPRN_PENDING, OperationType::UPDATE_PENDING },
257 { OPRN_SET_USER_COMMENT, OperationType::SET_USER_COMMENT },
258 { OPRN_INDEX, OperationType::INDEX },
259 { OPRN_ANALYSIS_INDEX, OperationType::ANALYSIS_INDEX },
260 { OPRN_COMMIT_EDIT, OperationType::COMMIT_EDIT },
261 { OPRN_REVERT_EDIT, OperationType::REVERT_EDIT },
262 { OPRN_HIDE, OperationType::HIDE },
263 { OPRN_QUERY_HIDDEN, OperationType::QUERY_HIDDEN },
264 { OPRN_ORDER_ALBUM, OperationType::ALBUM_ORDER},
265 { OPRN_STORE_FORM_ID, OperationType::OPRN_STORE_FORM_ID },
266 { OPRN_REMOVE_FORM_ID, OperationType::OPRN_REMOVE_FORM_ID },
267 { OPRN_PORTRAIT_DISPLAY_LEVEL, OperationType::PORTRAIT_DISPLAY_LEVEL },
268 { OPRN_PORTRAIT_IS_ME, OperationType::PORTRAIT_IS_ME },
269 { OPRN_PORTRAIT_ALBUM_NAME, OperationType::PORTRAIT_ALBUM_NAME },
270 { OPRN_PORTRAIT_MERGE_ALBUM, OperationType::PORTRAIT_MERGE_ALBUM },
271 { OPRN_DISMISS_ASSET, OperationType::DISMISS_ASSET },
272 { OPRN_PORTRAIT_COVER_URI, OperationType::PORTRAIT_COVER_URI },
273 { OPRN_SUBMIT_CACHE, OperationType::SUBMIT_CACHE },
274 { OPRN_BATCH_UPDATE_FAV, OperationType::BATCH_UPDATE_FAV },
275 { OPRN_BATCH_UPDATE_USER_COMMENT, OperationType::BATCH_UPDATE_USER_COMMENT },
276 { OPRN_BATCH_UPDATE_OWNER_ALBUM_ID, OperationType::BATCH_UPDATE_OWNER_ALBUM_ID },
277 { OPRN_SET_PHOTO_QUALITY, OperationType::SET_PHOTO_QUALITY },
278 { OPRN_ADD_IMAGE, OperationType::ADD_IMAGE },
279 { OPRN_PROCESS_IMAGE, OperationType::PROCESS_IMAGE },
280 { OPRN_SET_LOCATION, OperationType::SET_LOCATION },
281 { OPRN_CANCEL_PROCESS_IMAGE, OperationType::CANCEL_PROCESS_IMAGE },
282 { OPRN_LOG_MOVING_PHOTO, OperationType::LOG_MOVING_PHOTO },
283 { OPRN_ADD_FILTERS, OperationType::ADD_FILTERS },
284 { OPRN_DISCARD_CAMERA_PHOTO, OperationType::DISCARD_CAMERA_PHOTO },
285 { OPRN_SAVE_CAMERA_PHOTO, OperationType::SAVE_CAMERA_PHOTO },
286 { OPRN_REMOVE_MSC_TASK, OperationType::REMOVE_MSC_TASK },
287 { OPRN_START_GENERATE_THUMBNAILS, OperationType::START_GENERATE_THUMBNAILS },
288 { OPRN_STOP_GENERATE_THUMBNAILS, OperationType::STOP_GENERATE_THUMBNAILS },
289 { OPRN_GENERATE_THUMBNAILS_RESTORE, OperationType::GENERATE_THUMBNAILS_RESTORE },
290 { OPRN_TOOL_QUERY_BY_DISPLAY_NAME, OperationType::TOOL_QUERY_BY_DISPLAY_NAME },
291 { OPRN_GROUP_DISMISS, OperationType::DISMISS },
292 { OPRN_GROUP_ALBUM_NAME, OperationType::GROUP_ALBUM_NAME },
293 { OPRN_GROUP_COVER_URI, OperationType::GROUP_COVER_URI },
294 { OPRN_TOOL_QUERY_BY_DISPLAY_NAME, OperationType::TOOL_QUERY_BY_DISPLAY_NAME },
295 { OPRN_ADD_LOWQUALITY_IMAGE, OperationType::ADD_LOWQUALITY_IMAGE },
296 { OPRN_FINISH_REQUEST_PICTURE, OperationType::FINISH_REQUEST_PICTURE },
297 { OPRN_SCAN_WITHOUT_ALBUM_UPDATE, OperationType::SCAN_WITHOUT_ALBUM_UPDATE },
298 { OPRN_ENHANCEMENT_ADD, OperationType::ENHANCEMENT_ADD},
299 { OPRN_ENHANCEMENT_PRIORITIZE, OperationType::ENHANCEMENT_PRIORITIZE},
300 { OPRN_ENHANCEMENT_CANCEL, OperationType::ENHANCEMENT_CANCEL},
301 { OPRN_ENHANCEMENT_CANCEL_ALL, OperationType::ENHANCEMENT_CANCEL_ALL},
302 { OPRN_ENHANCEMENT_SYNC, OperationType::ENHANCEMENT_SYNC},
303 { OPRN_ENHANCEMENT_QUERY, OperationType::ENHANCEMENT_QUERY},
304 { OPRN_ENHANCEMENT_GET_PAIR, OperationType::ENHANCEMENT_GET_PAIR},
305 { OPRN_SET_VIDEO_ENHANCEMENT_ATTR, OperationType::SET_VIDEO_ENHANCEMENT_ATTR },
306 { "log_medialibrary_api", OperationType::LOG_MEDIALIBRARY_API},
307 { OPRN_SAVE_PICTURE, OperationType::SAVE_PICTURE},
308 { OPRN_CLONE_ASSET, OperationType::CLONE_ASSET},
309 { OPRN_DEGENERATE_MOVING_PHOTO, OperationType::DEGENERATE_MOVING_PHOTO },
310 { OPRN_ALL_DUPLICATE_ASSETS, OperationType::ALL_DUPLICATE_ASSETS },
311 { OPRN_CAN_DEL_DUPLICATE_ASSETS, OperationType::CAN_DEL_DUPLICATE_ASSETS },
312 { OPRN_UPDATE_OWNER_ALBUM_ID, OperationType::SET_OWNER_ALBUM_ID },
313 { CLOUD_MEDIA_ASSET_TASK_START_FORCE, OperationType::CLOUD_MEDIA_ASSET_TASK_START_FORCE },
314 { CLOUD_MEDIA_ASSET_TASK_START_GENTLE, OperationType::CLOUD_MEDIA_ASSET_TASK_START_GENTLE },
315 { CLOUD_MEDIA_ASSET_TASK_PAUSE, OperationType::CLOUD_MEDIA_ASSET_TASK_PAUSE },
316 { CLOUD_MEDIA_ASSET_TASK_CANCEL, OperationType::CLOUD_MEDIA_ASSET_TASK_CANCEL },
317 { CLOUD_MEDIA_ASSET_TASK_RETAIN_FORCE, OperationType::CLOUD_MEDIA_ASSET_TASK_RETAIN_FORCE },
318 { CLOUD_MEDIA_ASSET_TASK_STATUS_QUERY, OperationType::CLOUD_MEDIA_ASSET_TASK_STATUS_QUERY },
319 };
320 return oprnTypeMap;
321 }
322
GetOprnMap()323 const std::map<std::string, OperationObject>& GetOprnMap()
324 {
325 static std::map<std::string, OperationObject> oprnMap = {
326 { PhotoColumn::PHOTO_URI_PREFIX, OperationObject::FILESYSTEM_PHOTO },
327 { AudioColumn::AUDIO_URI_PREFIX, OperationObject::FILESYSTEM_AUDIO }
328 };
329 return oprnMap;
330 }
331 } // namespace MediaOperation
332
333 } // namespace Media
334 } // namespace OHOS