PluginInfo.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. using MediaBrowser.Model.Updates;
  2. using ProtoBuf;
  3. using System;
  4. namespace MediaBrowser.Model.Plugins
  5. {
  6. /// <summary>
  7. /// This is a serializable stub class that is used by the api to provide information about installed plugins.
  8. /// </summary>
  9. [ProtoContract]
  10. public class PluginInfo
  11. {
  12. /// <summary>
  13. /// Gets or sets the name.
  14. /// </summary>
  15. /// <value>The name.</value>
  16. [ProtoMember(1)]
  17. public string Name { get; set; }
  18. /// <summary>
  19. /// Gets or sets a value indicating whether [download to UI].
  20. /// </summary>
  21. /// <value><c>true</c> if [download to UI]; otherwise, <c>false</c>.</value>
  22. [ProtoMember(2)]
  23. public bool DownloadToUI { get; set; }
  24. /// <summary>
  25. /// Gets or sets the configuration date last modified.
  26. /// </summary>
  27. /// <value>The configuration date last modified.</value>
  28. [ProtoMember(3)]
  29. public DateTime ConfigurationDateLastModified { get; set; }
  30. /// <summary>
  31. /// Gets or sets the version.
  32. /// </summary>
  33. /// <value>The version.</value>
  34. [ProtoMember(4)]
  35. public string Version { get; set; }
  36. /// <summary>
  37. /// Gets or sets the name of the assembly file.
  38. /// </summary>
  39. /// <value>The name of the assembly file.</value>
  40. [ProtoMember(5)]
  41. public string AssemblyFileName { get; set; }
  42. /// <summary>
  43. /// Gets or sets the name of the configuration file.
  44. /// </summary>
  45. /// <value>The name of the configuration file.</value>
  46. [ProtoMember(6)]
  47. public string ConfigurationFileName { get; set; }
  48. /// <summary>
  49. /// Gets or sets the description.
  50. /// </summary>
  51. /// <value>The description.</value>
  52. [ProtoMember(7)]
  53. public string Description { get; set; }
  54. /// <summary>
  55. /// Gets or sets a value indicating whether this instance is core plugin.
  56. /// </summary>
  57. /// <value><c>true</c> if this instance is core plugin; otherwise, <c>false</c>.</value>
  58. [ProtoMember(8)]
  59. public bool IsCorePlugin { get; set; }
  60. /// <summary>
  61. /// Gets or sets the unique id.
  62. /// </summary>
  63. /// <value>The unique id.</value>
  64. [ProtoMember(9)]
  65. public Guid Id { get; set; }
  66. /// <summary>
  67. /// Whether or not this plug-in should be automatically updated when a
  68. /// compatible new version is released
  69. /// </summary>
  70. /// <value><c>true</c> if [enable auto update]; otherwise, <c>false</c>.</value>
  71. [ProtoMember(10)]
  72. public bool EnableAutoUpdate { get; set; }
  73. /// <summary>
  74. /// The classification of updates to which to subscribe.
  75. /// Options are: Dev, Beta or Release
  76. /// </summary>
  77. /// <value>The update class.</value>
  78. [ProtoMember(11)]
  79. public PackageVersionClass UpdateClass { get; set; }
  80. /// <summary>
  81. /// Gets or sets the minimum required UI version.
  82. /// </summary>
  83. /// <value>The minimum required UI version.</value>
  84. [ProtoMember(12)]
  85. public string MinimumRequiredUIVersion { get; set; }
  86. }
  87. }