jellyfin/MediaBrowser.Common/Updates/IPackageManager.cs
2013-06-27 15:08:57 -04:00

35 lines
1.3 KiB
C#

using MediaBrowser.Model.Updates;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Common.Updates
{
public interface IPackageManager
{
/// <summary>
/// Gets all available packages dynamically.
/// </summary>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task{List{PackageInfo}}.</returns>
Task<IEnumerable<PackageInfo>> GetAvailablePackages(CancellationToken cancellationToken);
/// <summary>
/// Gets all available packages from a static resource.
/// </summary>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task{List{PackageInfo}}.</returns>
Task<IEnumerable<PackageInfo>> GetAvailablePackagesStatic(CancellationToken cancellationToken);
/// <summary>
/// Installs a package.
/// </summary>
/// <param name="progress"></param>
/// <param name="package">The package.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
Task InstallPackage(IProgress<double> progress, PackageVersionInfo package, CancellationToken cancellationToken);
}
}