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 16sequenceable OHOS.IRemoteObject; 17sequenceable cloud_sync_common..OHOS.FileManagement.CloudSync.AssetInfoObj; 18sequenceable cloud_sync_common..OHOS.FileManagement.CloudSync.CleanFileInfoObj; 19sequenceable cloud_sync_common..OHOS.FileManagement.CloudSync.CleanOptions; 20sequenceable cloud_sync_common..OHOS.FileManagement.CloudSync.DentryFileInfoObj; 21sequenceable cloud_sync_common..OHOS.FileManagement.CloudSync.OptimizeSpaceOptions; 22sequenceable cloud_sync_common..OHOS.FileManagement.CloudSync.SwitchDataObj; 23sequenceable cloud_sync_common..OHOS.FileManagement.CloudSync.CloudFileInfo; 24sequenceable cloud_sync_common..OHOS.FileManagement.CloudSync.HistoryVersion; 25option_stub_hooks on; 26 27interface OHOS.FileManagement.CloudSync.ICloudSyncService 28{ 29 void UnRegisterCallbackInner([in] String bundleName); 30 void UnRegisterFileSyncCallbackInner([in] String bundleName); 31 void RegisterCallbackInner([in] IRemoteObject remoteObject, [in] String bundleName); 32 void RegisterFileSyncCallbackInner([in] IRemoteObject remoteObject, [in] String bundleName); 33 void StartSyncInner([in] boolean forceFlag, [in] String bundleName); 34 void StartFileSyncInner([in] boolean forceFlag, [in] String bundleName); 35 void TriggerSyncInner([in] String bundleName, [in] int userId); 36 void StopSyncInner([in] String bundleName, [in] boolean forceFlag); 37 void StopFileSyncInner([in] String bundleName, [in] boolean forceFlag); 38 void ResetCursor([in] String bundleName); 39 void ChangeAppSwitch([in] String accoutId, [in] String bundleName, [in] boolean status); 40 void OptimizeStorage([in] OptimizeSpaceOptions optimizeOptions, [in] boolean isCallbackValid, 41 [in] IRemoteObject optimizeCallback); 42 void StopOptimizeStorage(); 43 void Clean([in] String accountId, [in] CleanOptions cleanOptions); 44 void NotifyDataChange([in] String accoutId, [in] String bundleName); 45 void NotifyEventChange([in] int userId, [in] String eventId, [in] String extraData); 46 void EnableCloud([in] String accoutId, [in] SwitchDataObj switchData); 47 void DisableCloud([in] String accoutId); 48 void StartDownloadFile([in] String uri, [in] IRemoteObject downloadCallback, [out] long downloadId); 49 void StartFileCache([in] String[] uriVec, [out] long downloadId, [in] int fieldkey, 50 [in] IRemoteObject downloadCallback, [in] int timeout); 51 void StopDownloadFile([in] long downloadId, [in] boolean needClean); 52 void StopFileCache([in] long downloadId, [in] boolean needClean, [in] int timeout); 53 void DownloadThumb(); 54 void UploadAsset([in] int userId, [in] String request, [out] String resultStr); 55 void DownloadFile([in] int userId, [in] String bundleName, [in] AssetInfoObj assetInfoObj); 56 void DownloadFiles([in] int userId, [in] String bundleName, [in] AssetInfoObj[] assetInfoObj, 57 [out] boolean[] assetResultMap, [in] int connectTime); 58 void DownloadAsset([in] unsigned long taskId, [in] int userId, [in] String bundleName, [in] String networkId, 59 [in] AssetInfoObj assetInfoObj); 60 void RegisterDownloadAssetCallback([in] IRemoteObject remoteObject); 61 void DeleteAsset([in] int userId, [in] String uri); 62 void GetSyncTimeInner([out] long syncTime, [in] String bundleName); 63 void CleanCacheInner([in] String uri); 64 void CleanFileCacheInner([in] String uri); 65 void BatchCleanFile([in] CleanFileInfoObj[] fileInfo, [out] String[] failCloudId); 66 void BatchDentryFileInsert([in] DentryFileInfoObj[] fileInfo, [out] String[] failCloudId); 67 void StartDowngrade([in] String bundleName, [in] IRemoteObject downloadCallback); 68 void StopDowngrade([in] String bundleName); 69 void GetCloudFileInfo([in] String bundleName, [out] CloudFileInfo cloudFileInfo); 70 // file version 71 void GetHistoryVersionList([in] String uri, [in] int versionNumLimit, 72 [out] HistoryVersion[] historyVersionList); 73 void DownloadHistoryVersion([in] String uri, [out] long downloadId, [in] unsigned long versionId, 74 [in] IRemoteObject downloadCallback, 75 [out]String versionUri); 76 void ReplaceFileWithHistoryVersion([in] String uri, [in] String versionUri); 77 void IsFileConflict([in] String uri, [out] boolean isConflict); 78 void ClearFileConflict([in] String uri); 79}