jellyfin/MediaBrowser.Model/Plugins/PluginInfo.cs

70 lines
2.2 KiB
C#
Raw Normal View History

2020-12-06 23:48:54 +00:00
#nullable enable
using System;
namespace MediaBrowser.Model.Plugins
2018-12-27 23:27:57 +00:00
{
/// <summary>
/// This is a serializable stub class that is used by the api to provide information about installed plugins.
/// </summary>
public class PluginInfo
{
2020-12-06 23:48:54 +00:00
/// <summary>
/// Initializes a new instance of the <see cref="PluginInfo"/> class.
/// </summary>
/// <param name="name">The plugin name.</param>
/// <param name="version">The plugin <see cref="Version"/>.</param>
/// <param name="description">The plugin description.</param>
/// <param name="id">The <see cref="Guid"/>.</param>
/// <param name="canUninstall">True if this plugin can be uninstalled.</param>
public PluginInfo(string name, Version version, string description, Guid id, bool canUninstall)
{
Name = name;
Version = version?.ToString() ?? throw new ArgumentNullException(nameof(version));
Description = description;
Id = id.ToString();
CanUninstall = canUninstall;
}
2018-12-27 23:27:57 +00:00
/// <summary>
/// Gets or sets the name.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Gets or sets the version.
/// </summary>
public string Version { get; set; }
/// <summary>
/// Gets or sets the name of the configuration file.
/// </summary>
2020-12-06 23:48:54 +00:00
public string? ConfigurationFileName { get; set; }
2018-12-27 23:27:57 +00:00
/// <summary>
/// Gets or sets the description.
/// </summary>
public string Description { get; set; }
/// <summary>
/// Gets or sets the unique id.
/// </summary>
public string Id { get; set; }
/// <summary>
/// Gets or sets a value indicating whether the plugin can be uninstalled.
/// </summary>
public bool CanUninstall { get; set; }
2018-12-27 23:27:57 +00:00
/// <summary>
2020-12-06 23:48:54 +00:00
/// Gets or sets a value indicating whether this plugin has a valid image.
/// </summary>
public bool HasImage { get; set; }
/// <summary>
/// Gets or sets a value indicating the status of the plugin.
2018-12-27 23:27:57 +00:00
/// </summary>
2020-12-06 23:48:54 +00:00
public PluginStatus Status { get; set; }
2018-12-27 23:27:57 +00:00
}
}