1 /* 2 * Copyright (C) 2023 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 #ifndef FRAMEWORKS_MEDIATOOLS_UTILS_DB_CONST_H_ 16 #define FRAMEWORKS_MEDIATOOLS_UTILS_DB_CONST_H_ 17 #include <string> 18 #include <unordered_map> 19 20 #include "fetch_result.h" 21 #include "media_column.h" 22 #include "userfile_manager_types.h" 23 24 namespace OHOS { 25 namespace Media { 26 namespace MediaTool { 27 const std::unordered_map<std::string, ResultSetDataType> RESULT_TYPE_MAP = { 28 { MEDIA_DATA_DB_URI, ResultSetDataType::TYPE_STRING}, 29 { MediaColumn::MEDIA_ID, ResultSetDataType::TYPE_INT32 }, 30 { MediaColumn::MEDIA_FILE_PATH, ResultSetDataType::TYPE_STRING }, 31 { MediaColumn::MEDIA_SIZE, ResultSetDataType::TYPE_INT64 }, 32 { MediaColumn::MEDIA_TITLE, ResultSetDataType::TYPE_STRING }, 33 { MediaColumn::MEDIA_NAME, ResultSetDataType::TYPE_STRING }, 34 { MediaColumn::MEDIA_TYPE, ResultSetDataType::TYPE_INT32 }, 35 { MediaColumn::MEDIA_MIME_TYPE, ResultSetDataType::TYPE_STRING }, 36 { MediaColumn::MEDIA_OWNER_PACKAGE, ResultSetDataType::TYPE_STRING }, 37 { MediaColumn::MEDIA_OWNER_APPID, ResultSetDataType::TYPE_STRING }, 38 { MediaColumn::MEDIA_PACKAGE_NAME, ResultSetDataType::TYPE_STRING }, 39 { MediaColumn::MEDIA_DEVICE_NAME, ResultSetDataType::TYPE_STRING }, 40 { MediaColumn::MEDIA_DATE_ADDED, ResultSetDataType::TYPE_INT64 }, 41 { MediaColumn::MEDIA_DATE_MODIFIED, ResultSetDataType::TYPE_INT64 }, 42 { MediaColumn::MEDIA_DATE_TAKEN, ResultSetDataType::TYPE_INT64 }, 43 { MediaColumn::MEDIA_DURATION, ResultSetDataType::TYPE_INT32 }, 44 { MediaColumn::MEDIA_TIME_PENDING, ResultSetDataType::TYPE_INT64 }, 45 { MediaColumn::MEDIA_IS_FAV, ResultSetDataType::TYPE_INT32 }, 46 { MediaColumn::MEDIA_DATE_TRASHED, ResultSetDataType::TYPE_INT64 }, 47 { MediaColumn::MEDIA_DATE_DELETED, ResultSetDataType::TYPE_INT64 }, 48 { MediaColumn::MEDIA_HIDDEN, ResultSetDataType::TYPE_INT32 }, 49 { MediaColumn::MEDIA_PARENT_ID, ResultSetDataType::TYPE_INT32 }, 50 { MediaColumn::MEDIA_RELATIVE_PATH, ResultSetDataType::TYPE_STRING }, 51 { MediaColumn::MEDIA_VIRTURL_PATH, ResultSetDataType::TYPE_STRING }, 52 { AudioColumn::AUDIO_ARTIST, ResultSetDataType::TYPE_STRING }, 53 { AudioColumn::AUDIO_ALBUM, ResultSetDataType::TYPE_STRING }, 54 { PhotoColumn::PHOTO_DIRTY, ResultSetDataType::TYPE_INT32 }, 55 { PhotoColumn::PHOTO_CLOUD_ID, ResultSetDataType::TYPE_STRING }, 56 { PhotoColumn::PHOTO_META_DATE_MODIFIED, ResultSetDataType::TYPE_INT64 }, 57 { PhotoColumn::PHOTO_SYNC_STATUS, ResultSetDataType::TYPE_INT32 }, 58 { PhotoColumn::PHOTO_CLOUD_VERSION, ResultSetDataType::TYPE_INT64 }, 59 { PhotoColumn::PHOTO_ORIENTATION, ResultSetDataType::TYPE_INT32 }, 60 { PhotoColumn::PHOTO_LATITUDE, ResultSetDataType::TYPE_DOUBLE }, 61 { PhotoColumn::PHOTO_LONGITUDE, ResultSetDataType::TYPE_DOUBLE }, 62 { PhotoColumn::PHOTO_HEIGHT, ResultSetDataType::TYPE_INT32 }, 63 { PhotoColumn::PHOTO_WIDTH, ResultSetDataType::TYPE_INT32 }, 64 { PhotoColumn::PHOTO_LCD_VISIT_TIME, ResultSetDataType::TYPE_INT64 }, 65 { PhotoColumn::PHOTO_EDIT_TIME, ResultSetDataType::TYPE_INT64 }, 66 { PhotoColumn::PHOTO_POSITION, ResultSetDataType::TYPE_INT32 }, 67 { PhotoColumn::PHOTO_CLEAN_FLAG, ResultSetDataType::TYPE_INT32 }, 68 { PhotoColumn::PHOTO_THUMB_STATUS, ResultSetDataType::TYPE_INT32 }, 69 { PhotoColumn::PHOTO_SUBTYPE, ResultSetDataType::TYPE_INT32 }, 70 { PhotoColumn::PHOTO_ORIGINAL_SUBTYPE, ResultSetDataType::TYPE_INT32 }, 71 { PhotoColumn::CAMERA_SHOT_KEY, ResultSetDataType::TYPE_STRING }, 72 { PhotoColumn::PHOTO_DYNAMIC_RANGE_TYPE, TYPE_INT32}, 73 { PhotoColumn::MOVING_PHOTO_EFFECT_MODE, TYPE_INT32}, 74 { PhotoColumn::PHOTO_BURST_COVER_LEVEL, ResultSetDataType::TYPE_INT32 }, 75 { PhotoColumn::PHOTO_BURST_KEY, ResultSetDataType::TYPE_STRING }, 76 { PhotoColumn::PHOTO_CE_AVAILABLE, ResultSetDataType::TYPE_INT32 }, 77 { PhotoColumn::PHOTO_COVER_POSITION, ResultSetDataType::TYPE_INT64 }, 78 }; 79 } // namespace MediaTool 80 } // namespace Media 81 } // namespace OHOS 82 #endif // FRAMEWORKS_MEDIATOOLS_UTILS_DB_CONST_H_ 83