1 /* 2 * Copyright (c) 2022 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_FILEMGMT_CLOUD_SYNC_CALLBACK_H 17 #define OHOS_FILEMGMT_CLOUD_SYNC_CALLBACK_H 18 19 #include <functional> 20 21 #include "cloud_sync_constants.h" 22 23 namespace OHOS::FileManagement::CloudSync { 24 class CloudSyncCallback { 25 public: 26 virtual ~CloudSyncCallback() = default; 27 /** 28 * @brief 同步状态变更通知回调 29 * 30 * @param type 0:upload 1:download 2:all 31 * @param state 同步状态 32 * SYNC_STATE_DEFAULT 同步完成 33 * SYNC_STATE_SYNCING 同步中 34 * SYNC_STATE_FAILED 同步失败 35 * SYNC_STATE_PAUSED_NO_NETWORK 未连接网络 36 * SYNC_STATE_PAUSED_FOR_WIFI 未连接wifi 37 * SYNC_STATE_PAUSED_FOR_BATTERY 低电量 38 * SYNC_STATE_BATTERY_TOO_LOW 电量过低 39 * SYNC_STATE_PAUSED_FOR_SPACE_TOO_LOW 云空间满 40 */ OnSyncStateChanged(SyncType type,SyncPromptState state)41 virtual void OnSyncStateChanged(SyncType type, SyncPromptState state) {}; 42 /** 43 * @brief 同步状态变更通知回调 44 * 45 * @param state 同步状态类型 46 * UPLOADING 正在上传 47 * UPLOAD_FAILED 同步上传失败 48 * DOWNLOADING 正在下载 49 * DOWNLOAD_FAILED 同步下载失败 50 * COMPLETED 同步完成 51 * STOPPED 同步停止 52 * @param error 同步错误类型 53 * NO_ERROR 无错误 54 * NETWORK_UNAVAILABLE 网络不可用 55 * WIFI_UNAVAILABLE wifi不可用 56 * BATTERY_LEVEL_LOW 低电量 57 * BATTERY_LEVEL_WARNING 电量警告 58 * CLOUD_STORAGE_FULL 云空间满 59 * LOCAL_STORAGE_FULL 本地空间满 60 */ OnSyncStateChanged(CloudSyncState state,ErrorType error)61 virtual void OnSyncStateChanged(CloudSyncState state, ErrorType error) {}; 62 }; 63 } // namespace OHOS::FileManagement::CloudSync 64 65 #endif // OHOS_FILEMGMT_CLOUD_SYNC_CALLBACK_H