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