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