PluginsHandler.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using MediaBrowser.Common.Net.Handlers;
  4. using MediaBrowser.Controller;
  5. using MediaBrowser.Model.DTO;
  6. namespace MediaBrowser.Api.HttpHandlers
  7. {
  8. /// <summary>
  9. /// Provides information about installed plugins
  10. /// </summary>
  11. public class PluginsHandler : BaseJsonHandler<IEnumerable<PluginInfo>>
  12. {
  13. protected override IEnumerable<PluginInfo> GetObjectToSerialize()
  14. {
  15. var plugins = Kernel.Instance.Plugins.Select(p =>
  16. {
  17. return new PluginInfo()
  18. {
  19. Path = p.Path,
  20. Name = p.Name,
  21. Enabled = p.Enabled,
  22. DownloadToUI = p.DownloadToUI,
  23. Version = p.Version
  24. };
  25. });
  26. if (QueryString["uionly"] == "1")
  27. {
  28. plugins = plugins.Where(p => p.DownloadToUI);
  29. }
  30. return plugins;
  31. }
  32. }
  33. }