1 /* 2 * Copyright (C) 2025 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 OHOS_CLOUD_SYNC_CONVERT_H 17 #define OHOS_CLOUD_SYNC_CONVERT_H 18 19 #include <string> 20 #include <vector> 21 22 #include "values_bucket.h" 23 #include "cloud_media_pull_data_dto.h" 24 25 namespace OHOS::Media::CloudSync { 26 #define EXPORT __attribute__ ((visibility ("default"))) 27 class EXPORT CloudSyncConvert { 28 public: 29 static bool RecordToValueBucket(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 30 static int32_t TryCompensateValue(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 31 static int32_t ExtractAttributeValue(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 32 static int32_t ExtractCompatibleValue(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 33 34 // attributes 35 static int32_t CompensateAttTitle(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 36 static int32_t CompensateAttMediaType(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 37 static int32_t CompensateAttHidden(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 38 static int32_t CompensateAttHiddenTime(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 39 static int32_t CompensateAttRelativePath(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 40 static int32_t CompensateAttVirtualPath(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 41 static int32_t CompensateAttMetaDateModified(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 42 static int32_t CompensateAttSubtype(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 43 static int32_t CompensateAttBurstCoverLevel(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 44 static int32_t CompensateAttBurstKey(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 45 static int32_t CompensateAttDateYear(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 46 static int32_t CompensateAttDateMonth(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 47 static int32_t CompensateAttDateDay(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 48 static int32_t CompensateAttShootingMode(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 49 static int32_t CompensateAttShootingModeTag(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 50 static int32_t CompensateAttDynamicRangeType(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 51 static int32_t CompensateAttFrontCamera(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 52 static int32_t CompensateAttEditTime(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 53 static int32_t CompensateAttOriginalSubtype(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 54 static int32_t CompensateAttCoverPosition(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 55 static int32_t CompensateAttIsRectificationCover(const CloudMediaPullDataDto &data, 56 NativeRdb::ValuesBucket &values); 57 static int32_t CompensateAttMovingPhotoEffectMode( 58 const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 59 static int32_t CompensateAttSupportedWatermarkType( 60 const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 61 static int32_t CompensateAttStrongAssociation(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 62 63 // properties 64 static int32_t CompensatePropTitle(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 65 static int32_t CompensatePropOrientation(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 66 static int32_t CompensatePropPosition(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 67 static int32_t CompensatePropHeight(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 68 static int32_t CompensatePropWidth(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 69 static int32_t CompensateFormattedDate(const int64_t createTime, NativeRdb::ValuesBucket &values); 70 static int32_t CompensatePropDataAdded(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 71 static int32_t CompensatePropDetailTime(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 72 static int32_t CompensatePropSourcePath(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 73 74 // basic 75 static int32_t CompensateBasicSize(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 76 static int32_t CompensateBasicDisplayName(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 77 static int32_t CompensateBasicMimeType(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 78 static int32_t CompensateBasicDeviceName(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 79 static int32_t CompensateBasicDateModified(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 80 static int32_t CompensateBasicDateTaken(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 81 static int32_t CompensateBasicFavorite(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 82 static int32_t CompensateBasicDateTrashed(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 83 static int32_t CompensateBasicCloudId(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 84 static int32_t CompensateBasicDescription(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 85 static int32_t CompensateBasicFixLivePhoto(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 86 static int32_t CompensateBasicMediaType(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 87 static int32_t CompensateBasicMetaDateModified(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 88 static int32_t CompensateBasicSubtype(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 89 static int32_t CompensateBasicBurstCoverLevel(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 90 static int32_t CompensateDuration(const CloudMediaPullDataDto &data, NativeRdb::ValuesBucket &values); 91 }; 92 93 } // namespace OHOS::Media::CloudSync 94 #endif // OHOS_CLOUD_SYNC_CONVERT_H