diff --git a/api/@ohos.file.cloudSyncManager.d.ts b/api/@ohos.file.cloudSyncManager.d.ts index d4d50845324d15d30c75400aca1ec4616d51cafa..4b911cc2828f1c3f55e600639f0fe07579c28a0c 100644 --- a/api/@ohos.file.cloudSyncManager.d.ts +++ b/api/@ohos.file.cloudSyncManager.d.ts @@ -18,7 +18,7 @@ * @kit CoreFileKit */ -import type { AsyncCallback } from './@ohos.base'; +import type { AsyncCallback, Callback } from './@ohos.base'; /** * Provides the capabilities to manage the state and data of cloud file synchronization. @@ -310,6 +310,335 @@ declare namespace cloudSyncManager { */ extraData: string; } + + /** + * Describes the reason why the download task stop. + * @enum { number } DownloadStopReason + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + enum DownloadStopReason { + + /** + * download task is not stopped. + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + NO_STOP = 0, + + /** + * Network is unavailable. + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + NETWORK_UNAVAILABLE = 1, + + /** + * The local storage space is full. + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + LOCAL_STORAGE_FULL = 2, + + /** + * Temperature control Limits. + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + TEMPERATURE_LIMIT = 3, + + /** + * User stopped the download task. + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + USER_STOPPED = 4, + + /** + * The local application has been unloaded. + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + APP_UNLOAD = 5, + + /** + * Other reasons of some internal error. + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + OTHER_REASON = 6 + } + + /** + * Describes the state type of downgrade download. + * @enum { number } DownloadState + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + enum DownloadState { + + /** + * Indicates that the download task in process now. + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + RUNNING = 0, + + /** + * Indicates that the download task finished. + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + COMPLETED = 1, + + /** + * Indicates that the download task stopped. + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + STOPPED = 2 + } + + /** + * Defines the CloudFileInfo data structure. + * @typedef CloudFileInfo + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + interface CloudFileInfo { + + /** + * Total number of files located in the cloud. + * @type { number } + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + cloudFileCount: number; + + /** + * Total size of files located in the cloud, in units of bytes. + * @type { number } + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + cloudFileTotalSize: number; + + /** + * Total number of files located locally. + * @type { number } + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + localFileCount: number; + + /** + * Total size of files located locally, in units of bytes. + * @type { number } + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + localFileTotalSize: number; + + /** + * Total number of files located both locally and in the cloud. + * @type { number } + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + bothFileCount: number; + + /** + * Total size of files located both locally and in the cloud, in units of bytes. + * @type { number } + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + bothFileTotalSize: number; + } + + /** + * Defines DownloadProgress object. + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + class DownloadProgress { + + /** + * The current download task state. + * @type { DownloadState } + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + state: DownloadState; + + /** + * The number of files that downloaded successfully + * @type { number } + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + successfulCount: number; + + /** + * The number of files that fail to be downloaded. + * @type { number } + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + failedCount: number; + + /** + * Total number of all files to be downloaded. + * @type { number } + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + totalCount: number; + + /** + * Total size of downloaded files. + * @type { number } + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + downloadedSize: number; + + /** + * Total size of all files to be downloaded. + * @type { number } + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + totalSize: number; + + /** + * The reason for stopping the download task. + * @type { DownloadStopReason } + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @since 20 + * @arkts 1.1&1.2 + */ + stopReason: DownloadStopReason; + } + + /** + * DowngradeDownload object. + * + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @systemapi + * @since 20 + * @arkts 1.1&1.2 + */ + class DowngradeDownload { + + /** + * A constructor used to create a DowngradeDownload object. + * + * @permission ohos.permission.CLOUDFILE_SYNC_MANAGER + * @param { string } bundleName - Name of the bundle that need to synchronize and subscribe the sync progress event. + * @throws { BusinessError } 201 - Permission verification failed, usually the result returned by VerifyAccessToken. + * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API. + * @throws { BusinessError } 13900020 - Parameter error. Possible causes: + *
1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. + * @throws { BusinessError } 22400005 - Inner error. Possible causes: + *
1.Failed to access the database or execute the SQL statement. + *
2.System error, such as a null pointer, insufficient memory or a JS engine exception. + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @systemapi + * @since 20 + * @arkts 1.1&1.2 + */ + constructor(bundleName: string); + + /** + * Get the total size and number of files in different locations. + * + * @permission ohos.permission.CLOUDFILE_SYNC_MANAGER + * @returns { Promise } - Return the file size and number info. + * @throws { BusinessError } 201 - Permission verification failed, usually the result returned by VerifyAccessToken. + * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API. + * @throws { BusinessError } 13600001 - IPC error. Possible causes: + *
1.IPC failed or timed out. 2.Failed to load the service. + * @throws { BusinessError } 13900010 - Try again. + * @throws { BusinessError } 22400005 - Inner error. Possible causes: + *
1.Failed to access the database or execute the SQL statement. + *
2.System error, such as a null pointer, insufficient memory or a JS engine exception. + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @systemapi + * @since 20 + * @arkts 1.1&1.2 + */ + getCloudFileInfo(): Promise; + + /** + * Start to download all cloud files of the specified application to local. + * + * @permission ohos.permission.CLOUDFILE_SYNC_MANAGER + * @param { Callback } callback - callback function with a `DownloadProgress` argument. + * @returns { Promise } - Return Promise. + * @throws { BusinessError } 201 - Permission verification failed, usually the result returned by VerifyAccessToken. + * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API. + * @throws { BusinessError } 13600001 - IPC error. Possible causes: + *
1.IPC failed or timed out. 2.Failed to load the service. + * @throws { BusinessError } 13900010 - Try again. + * @throws { BusinessError } 13900020 - Parameter error. Possible causes: + *
1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. + * @throws { BusinessError } 22400005 - Inner error. Possible causes: + *
1.Failed to access the database or execute the SQL statement. + *
2.System error, such as a null pointer, insufficient memory or a JS engine exception. + * @throws { BusinessError } 22400006 - The same task is already in progress. + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @systemapi + * @since 20 + * @arkts 1.1&1.2 + */ + startDownload(callback: Callback): Promise; + + /** + * Stop the specified application's download task. + * + * @permission ohos.permission.CLOUDFILE_SYNC_MANAGER + * @returns { Promise } - Return Promise. + * @throws { BusinessError } 201 - Permission verification failed, usually the result returned by VerifyAccessToken. + * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API. + * @throws { BusinessError } 13600001 - IPC error. Possible causes: + *
1.IPC failed or timed out. 2.Failed to load the service. + * @throws { BusinessError } 22400005 - Inner error. Possible causes: + *
1.Failed to access the database or execute the SQL statement. + *
2.System error, such as a null pointer, insufficient memory or a JS engine exception. + * @syscap SystemCapability.FileManagement.DistributedFileService.CloudSyncManager + * @systemapi + * @since 20 + * @arkts 1.1&1.2 + */ + stopDownload(): Promise; + } } export default cloudSyncManager;