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;
            Description = description;
            Id = id;
            CanUninstall = canUninstall;
        }
        /// 
        /// Gets or sets the name.
        /// 
        public string Name { get; set; }
        /// 
        /// Gets or sets the version.
        /// 
        public Version 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 Guid 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; }
    }
}