using System; using System.Collections.Generic; using Vinno.vCloud.Common.Storage.ObjectStorageInfo.Solid; using Vinno.vCloud.Protocol.Infrastructures.Storage; namespace Vinno.vCloud.Common.Storage.ObjectStorageInfo.Interface { public interface IUFileStorageHelper : IDisposable { /// /// Leaf代理 /// ILeafAgency LeafAgency { get; } /// /// 下载单个文件 /// /// 文件下载信息 /// 文件所在节点 /// 进度回调 /// bool DownloadFile(ObjectFileDownloadInfo fileDownloadInfo, StorageNodeType storageNode, Action progressCallback = null); /// /// 下载单个文件 /// /// 下载信息 /// 文件所在节点 /// Range开始位置 /// Range结束位置 /// 进度回调 /// bool DownloadFile(ObjectFileDownloadInfo fileDownloadInfo, StorageNodeType storageNode, long from, long to, Action progressCallback = null); /// /// 获取文件 /// /// 文件下载信息 /// 文件所在节点 /// 进度回调 /// byte[] GetFile(ObjectFileDownloadInfo fileDownloadInfo, StorageNodeType storageNode, Action progressCallback = null); /// /// 获取文件 /// /// 下载信息 /// 文件所在节点 /// Range开始位置 /// Range结束位置 /// 进度回调 /// byte[] GetFile(ObjectFileDownloadInfo fileDownloadInfo, StorageNodeType storageNode, long from, long to, Action progressCallback = null); /// /// 获取更新文件(批量) /// /// /// /// /// bool DownloadFiles(string tempFolder, StorageNodeType storageNode, List fileList, Action progressCallback = null); /// /// 批量删除文件 /// /// /// /// /// bool DeleteFiles(StorageNodeType storageNode, List fileList, Action progressCallback = null); /// /// 查询文件 /// /// /// /// ObjectFileItemList SearchFiles(string fileQuery, StorageNodeType storageNode); /// /// 批量获取文件 /// /// 下载信息集合 /// 文件所在节点 /// 进度回调 /// IEnumerable GetFiles(List fileDownloadInfoList, StorageNodeType storageNode, Action progressCallback = null); } }