From d529f81cd93029e6293b8457bc7090d4277c0228 Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Tue, 8 Oct 2019 20:51:11 +0200 Subject: Improve IInstallationManager interface --- .../Updates/IInstallationManager.cs | 76 ++++++++++------------ 1 file changed, 36 insertions(+), 40 deletions(-) (limited to 'MediaBrowser.Common/Updates') diff --git a/MediaBrowser.Common/Updates/IInstallationManager.cs b/MediaBrowser.Common/Updates/IInstallationManager.cs index b3367f71d0..ce4829c134 100644 --- a/MediaBrowser.Common/Updates/IInstallationManager.cs +++ b/MediaBrowser.Common/Updates/IInstallationManager.cs @@ -17,11 +17,6 @@ namespace MediaBrowser.Common.Updates event EventHandler PackageInstallationFailed; event EventHandler PackageInstallationCancelled; - /// - /// The completed installations - /// - IEnumerable CompletedInstallations { get; } - /// /// Occurs when [plugin uninstalled]. /// @@ -38,62 +33,63 @@ namespace MediaBrowser.Common.Updates event EventHandler> PluginInstalled; /// - /// Gets all available packages. + /// The completed installations /// - /// The cancellation token. - /// if set to true [with registration]. - /// Type of the package. - /// The application version. - /// Task{List{PackageInfo}}. - Task> GetAvailablePackages(CancellationToken cancellationToken, - bool withRegistration = true, string packageType = null, Version applicationVersion = null); + IEnumerable CompletedInstallations { get; } /// - /// Gets all available packages from a static resource. + /// Gets all available packages. /// /// The cancellation token. - /// Task{List{PackageInfo}}. - Task> GetAvailablePackagesWithoutRegistrationInfo(CancellationToken cancellationToken); + /// Task{IReadOnlyList{PackageInfo}}. + Task> GetAvailablePackages(CancellationToken cancellationToken = default); /// - /// Gets the package. + /// Returns all plugins matching the requirements. /// - /// The name. - /// The assembly guid - /// The classification. - /// The version. - /// Task{PackageVersionInfo}. - Task GetPackage(string name, string guid, PackageVersionClass classification, Version version); + /// The available packages. + /// The name of the plugin. + /// The id of the plugin. + /// All plugins matching the requirements. + IEnumerable FilterPackages( + IEnumerable availablePackages, + string name = null, + Guid guid = default); /// - /// Gets the latest compatible version. + /// Returns all compatible versions ordered from newest to oldest. /// - /// The name. - /// The assembly guid - /// The current server version. - /// The classification. - /// Task{PackageVersionInfo}. - Task GetLatestCompatibleVersion(string name, string guid, Version currentServerVersion, PackageVersionClass classification = PackageVersionClass.Release); + /// The available version of the plugin. + /// The minimum required version of the plugin. + /// The classification of updates. + /// All compatible versions ordered from newest to oldest. + IEnumerable GetCompatibleVersions( + IEnumerable availableVersions, + Version minVersion = null, + PackageVersionClass classification = PackageVersionClass.Release); /// - /// Gets the latest compatible version. + /// Returns all compatible versions ordered from newest to oldest. /// /// The available packages. /// The name. - /// The assembly guid - /// The current server version. + /// The guid of the plugin. + /// The minimum required version of the plugin. /// The classification. - /// PackageVersionInfo. - PackageVersionInfo GetLatestCompatibleVersion(IEnumerable availablePackages, string name, string guid, Version currentServerVersion, PackageVersionClass classification = PackageVersionClass.Release); + /// All compatible versions ordered from newest to oldest. + IEnumerable GetCompatibleVersions( + IEnumerable availablePackages, + string name = null, + Guid guid = default, + Version minVersion = null, + PackageVersionClass classification = PackageVersionClass.Release); /// - /// Gets the available plugin updates. + /// Returns the available plugin updates. /// - /// The current server version. - /// if set to true [with auto update enabled]. /// The cancellation token. - /// Task{IEnumerable{PackageVersionInfo}}. - Task> GetAvailablePluginUpdates(Version applicationVersion, bool withAutoUpdateEnabled, CancellationToken cancellationToken); + /// Tthe available plugin updates. + Task> GetAvailablePluginUpdates(CancellationToken cancellationToken = default); /// /// Installs the package. -- cgit v1.2.3