#nullable enable
using System;
namespace MediaBrowser.Model.Plugins
{
///
/// This is a serializable stub class that is used by the api to provide information about installed plugins.
///
public class PluginInfo
{
///
/// Initializes a new instance of the class.
///
/// The plugin name.
/// The plugin .
/// The plugin description.
/// The .
/// True if this plugin can be uninstalled.
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;
}
///
/// Gets or sets the name.
///
public string Name { get; set; }
///
/// Gets or sets the version.
///
public string Version { get; set; }
///
/// Gets or sets the name of the configuration file.
///
public string? ConfigurationFileName { get; set; }
///
/// Gets or sets the description.
///
public string Description { get; set; }
///
/// Gets or sets the unique id.
///
public string Id { get; set; }
///
/// Gets or sets a value indicating whether the plugin can be uninstalled.
///
public bool CanUninstall { get; set; }
///
/// Gets or sets a value indicating whether this plugin has a valid image.
///
public bool HasImage { get; set; }
///
/// Gets or sets a value indicating the status of the plugin.
///
public PluginStatus Status { get; set; }
}
}