ConnectionManager.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using Emby.Dlna.Service;
  2. using MediaBrowser.Common.Net;
  3. using MediaBrowser.Controller.Configuration;
  4. using MediaBrowser.Controller.Dlna;
  5. using Microsoft.Extensions.Logging;
  6. namespace Emby.Dlna.ConnectionManager
  7. {
  8. public class ConnectionManager : BaseService, IConnectionManager
  9. {
  10. private readonly IDlnaManager _dlna;
  11. private readonly ILogger _logger;
  12. private readonly IServerConfigurationManager _config;
  13. public ConnectionManager(IDlnaManager dlna, IServerConfigurationManager config, ILogger logger, IHttpClient httpClient)
  14. : base(logger, httpClient)
  15. {
  16. _dlna = dlna;
  17. _config = config;
  18. _logger = logger;
  19. }
  20. public string GetServiceXml()
  21. {
  22. return new ConnectionManagerXmlBuilder().GetXml();
  23. }
  24. public ControlResponse ProcessControlRequest(ControlRequest request)
  25. {
  26. var profile = _dlna.GetProfile(request.Headers) ??
  27. _dlna.GetDefaultProfile();
  28. return new ControlHandler(_config, _logger, profile).ProcessControlRequest(request);
  29. }
  30. }
  31. }