using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Common.Kernel;
using MediaBrowser.Common.Net;
using MediaBrowser.Common.Security;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Logging;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Updates;
namespace MediaBrowser.Common.Updates
{
public interface IPackageManager
{
///
/// Gets all available packages.
///
///
///
///
///
///
/// The cancellation token.
/// Task{List{PackageInfo}}.
Task> GetAvailablePackages(IHttpClient client,
INetworkManager networkManager,
ISecurityManager securityManager,
ResourcePool resourcePool,
IJsonSerializer serializer,
CancellationToken cancellationToken);
///
/// Installs a package.
///
///
///
///
///
///
/// The package.
/// The cancellation token.
/// Task.
Task InstallPackage(IHttpClient client,
ILogger logger,
ResourcePool resourcePool,
IProgress progress,
IApplicationPaths appPaths,
PackageVersionInfo package,
CancellationToken cancellationToken);
}
}