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