ConfigurationExtension.cs 1.4 KB

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