IPackageManager.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading;
  6. using System.Threading.Tasks;
  7. using MediaBrowser.Common.Kernel;
  8. using MediaBrowser.Common.Net;
  9. using MediaBrowser.Common.Security;
  10. using MediaBrowser.Model.IO;
  11. using MediaBrowser.Model.Logging;
  12. using MediaBrowser.Model.Serialization;
  13. using MediaBrowser.Model.Updates;
  14. namespace MediaBrowser.Common.Updates
  15. {
  16. public interface IPackageManager
  17. {
  18. /// <summary>
  19. /// Gets all available packages.
  20. /// </summary>
  21. /// <param name="client"></param>
  22. /// <param name="networkManager"></param>
  23. /// <param name="securityManager"></param>
  24. /// <param name="resourcePool"></param>
  25. /// <param name="serializer"></param>
  26. /// <param name="cancellationToken">The cancellation token.</param>
  27. /// <returns>Task{List{PackageInfo}}.</returns>
  28. Task<IEnumerable<PackageInfo>> GetAvailablePackages(IHttpClient client,
  29. INetworkManager networkManager,
  30. ISecurityManager securityManager,
  31. ResourcePool resourcePool,
  32. IJsonSerializer serializer,
  33. CancellationToken cancellationToken);
  34. /// <summary>
  35. /// Installs a package.
  36. /// </summary>
  37. /// <param name="client"></param>
  38. /// <param name="logger"></param>
  39. /// <param name="resourcePool"></param>
  40. /// <param name="progress"></param>
  41. /// <param name="zipClient"></param>
  42. /// <param name="appPaths"></param>
  43. /// <param name="package">The package.</param>
  44. /// <param name="cancellationToken">The cancellation token.</param>
  45. /// <returns>Task.</returns>
  46. Task InstallPackage(IHttpClient client,
  47. ILogger logger,
  48. ResourcePool resourcePool,
  49. IProgress<double> progress,
  50. IZipClient zipClient,
  51. IApplicationPaths appPaths,
  52. PackageVersionInfo package,
  53. CancellationToken cancellationToken);
  54. }
  55. }