using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.FileSystem;
using Tango.FSE.Common.FileSystem;
namespace Tango.FSE.Common.Firmware
{
public interface IFirmwareStorageProvider
{
///
/// Gets a folder by the specified path.
///
/// The path.
///
Task GetFolder(String path);
///
/// Gets the ThisPC (the root path of the storage device).
///
///
Task GetRoot();
///
/// Downloads the specified file item.
///
/// The file item.
/// The local target path.
///
Task Download(FileItem item, String localTargetPath);
///
/// Uploads the specified local file or folder.
///
/// The local source path.
/// The remote destination path.
///
/// Could not locate the local file or directory to upload.
Task Upload(String localSourcePath, String remoteTargetPath);
///
/// Deletes the specified file or folder.
///
/// The remote file or folder.
///
Task Delete(FileSystemItem item);
///
/// Creates a new folder at the specified remote parent.
///
/// The remote parent path.
/// Name of the new folder.
///
Task CreateFolder(FileSystemItem parent, String folderName);
}
}