IPlugin.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #nullable disable
  2. using System;
  3. using MediaBrowser.Model.Plugins;
  4. namespace MediaBrowser.Common.Plugins
  5. {
  6. /// <summary>
  7. /// Defines the <see cref="IPlugin" />.
  8. /// </summary>
  9. public interface IPlugin
  10. {
  11. /// <summary>
  12. /// Gets the name of the plugin.
  13. /// </summary>
  14. string Name { get; }
  15. /// <summary>
  16. /// Gets the Description.
  17. /// </summary>
  18. string Description { get; }
  19. /// <summary>
  20. /// Gets the unique id.
  21. /// </summary>
  22. Guid Id { get; }
  23. /// <summary>
  24. /// Gets the plugin version.
  25. /// </summary>
  26. Version Version { get; }
  27. /// <summary>
  28. /// Gets the path to the assembly file.
  29. /// </summary>
  30. string AssemblyFilePath { get; }
  31. /// <summary>
  32. /// Gets a value indicating whether the plugin can be uninstalled.
  33. /// </summary>
  34. bool CanUninstall { get; }
  35. /// <summary>
  36. /// Gets the full path to the data folder, where the plugin can store any miscellaneous files needed.
  37. /// </summary>
  38. string DataFolderPath { get; }
  39. /// <summary>
  40. /// Gets the <see cref="PluginInfo"/>.
  41. /// </summary>
  42. /// <returns>PluginInfo.</returns>
  43. PluginInfo GetPluginInfo();
  44. /// <summary>
  45. /// Called when just before the plugin is uninstalled from the server.
  46. /// </summary>
  47. void OnUninstalling();
  48. }
  49. }