#nullable enable using System; using System.Text.Json.Serialization; using MediaBrowser.Model.Plugins; namespace MediaBrowser.Common.Plugins { /// /// Defines a Plugin manifest file. /// public class PluginManifest { /// /// Gets or sets the category of the plugin. /// public string Category { get; set; } = string.Empty; /// /// Gets or sets the changelog information. /// public string Changelog { get; set; } = string.Empty; /// /// Gets or sets the description of the plugin. /// public string Description { get; set; } = string.Empty; /// /// Gets or sets the Global Unique Identifier for the plugin. /// [JsonPropertyName("Guid")] public Guid Id { get; set; } /// /// Gets or sets the Name of the plugin. /// public string Name { get; set; } = string.Empty; /// /// Gets or sets an overview of the plugin. /// public string Overview { get; set; } = string.Empty; /// /// Gets or sets the owner of the plugin. /// public string Owner { get; set; } = string.Empty; /// /// Gets or sets the compatibility version for the plugin. /// public string TargetAbi { get; set; } = string.Empty; /// /// Gets or sets the upper compatibility version for the plugin. /// public string MaxAbi { get; set; } = string.Empty; /// /// Gets or sets the timestamp of the plugin. /// public DateTime Timestamp { get; set; } /// /// Gets or sets the Version number of the plugin. /// public string Version { get; set; } = string.Empty; /// /// Gets or sets a value indicating the operational status of this plugin. /// public PluginStatus Status { get; set; } /// /// Gets or sets a value indicating whether this plugin should automatically update. /// public bool AutoUpdate { get; set; } = true; /// /// Gets or sets a value indicating whether this plugin has an image. /// Image must be located in the local plugin folder. /// public string? ImageUrl { get; set; } } }