PluginManifest.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #nullable enable
  2. using System;
  3. using System.Text.Json.Serialization;
  4. using MediaBrowser.Model.Plugins;
  5. namespace MediaBrowser.Common.Plugins
  6. {
  7. /// <summary>
  8. /// Defines a Plugin manifest file.
  9. /// </summary>
  10. public class PluginManifest
  11. {
  12. /// <summary>
  13. /// Gets or sets the category of the plugin.
  14. /// </summary>
  15. public string Category { get; set; } = string.Empty;
  16. /// <summary>
  17. /// Gets or sets the changelog information.
  18. /// </summary>
  19. public string Changelog { get; set; } = string.Empty;
  20. /// <summary>
  21. /// Gets or sets the description of the plugin.
  22. /// </summary>
  23. public string Description { get; set; } = string.Empty;
  24. /// <summary>
  25. /// Gets or sets the Global Unique Identifier for the plugin.
  26. /// </summary>
  27. [JsonPropertyName("Guid")]
  28. public Guid Id { get; set; }
  29. /// <summary>
  30. /// Gets or sets the Name of the plugin.
  31. /// </summary>
  32. public string Name { get; set; } = string.Empty;
  33. /// <summary>
  34. /// Gets or sets an overview of the plugin.
  35. /// </summary>
  36. public string Overview { get; set; } = string.Empty;
  37. /// <summary>
  38. /// Gets or sets the owner of the plugin.
  39. /// </summary>
  40. public string Owner { get; set; } = string.Empty;
  41. /// <summary>
  42. /// Gets or sets the compatibility version for the plugin.
  43. /// </summary>
  44. public string TargetAbi { get; set; } = string.Empty;
  45. /// <summary>
  46. /// Gets or sets the timestamp of the plugin.
  47. /// </summary>
  48. public DateTime Timestamp { get; set; }
  49. /// <summary>
  50. /// Gets or sets the Version number of the plugin.
  51. /// </summary>
  52. public string Version { get; set; } = string.Empty;
  53. /// <summary>
  54. /// Gets or sets a value indicating the operational status of this plugin.
  55. /// </summary>
  56. public PluginStatus Status { get; set; }
  57. /// <summary>
  58. /// Gets or sets a value indicating whether this plugin should automatically update.
  59. /// </summary>
  60. public bool AutoUpdate { get; set; } = true;
  61. /// <summary>
  62. /// Gets or sets a value indicating whether this plugin has an image.
  63. /// Image must be located in the local plugin folder.
  64. /// </summary>
  65. public string? ImagePath { get; set; }
  66. }
  67. }