ConfigurationExtension.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using System.Collections.Generic;
  2. using MediaBrowser.Common.Configuration;
  3. namespace Emby.Server.Implementations.QuickConnect
  4. {
  5. /// <summary>
  6. /// Configuration extension to support persistent quick connect configuration
  7. /// </summary>
  8. public static class ConfigurationExtension
  9. {
  10. /// <summary>
  11. /// Return the current quick connect configuration
  12. /// </summary>
  13. /// <param name="manager">Configuration manager</param>
  14. /// <returns></returns>
  15. public static QuickConnectConfiguration GetQuickConnectConfiguration(this IConfigurationManager manager)
  16. {
  17. return manager.GetConfiguration<QuickConnectConfiguration>("quickconnect");
  18. }
  19. }
  20. /// <summary>
  21. /// Configuration factory for quick connect
  22. /// </summary>
  23. public class QuickConnectConfigurationFactory : IConfigurationFactory
  24. {
  25. /// <summary>
  26. /// Returns the current quick connect configuration
  27. /// </summary>
  28. /// <returns></returns>
  29. public IEnumerable<ConfigurationStore> GetConfigurations()
  30. {
  31. return new ConfigurationStore[]
  32. {
  33. new ConfigurationStore
  34. {
  35. Key = "quickconnect",
  36. ConfigurationType = typeof(QuickConnectConfiguration)
  37. }
  38. };
  39. }
  40. }
  41. }