aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/Dlna/DlnaServerService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/Dlna/DlnaServerService.cs')
-rw-r--r--MediaBrowser.Api/Dlna/DlnaServerService.cs30
1 files changed, 22 insertions, 8 deletions
diff --git a/MediaBrowser.Api/Dlna/DlnaServerService.cs b/MediaBrowser.Api/Dlna/DlnaServerService.cs
index 8e4e559df..28de8ee17 100644
--- a/MediaBrowser.Api/Dlna/DlnaServerService.cs
+++ b/MediaBrowser.Api/Dlna/DlnaServerService.cs
@@ -50,8 +50,14 @@ namespace MediaBrowser.Api.Dlna
}
[Route("/Dlna/contentdirectory/{UuId}/events", Summary = "Processes an event subscription request")]
+ public class ProcessContentDirectoryEventRequest
+ {
+ [ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "GET")]
+ public string UuId { get; set; }
+ }
+
[Route("/Dlna/connectionmanager/{UuId}/events", Summary = "Processes an event subscription request")]
- public class ProcessEventRequest
+ public class ProcessConnectionManagerEventRequest
{
[ApiMember(Name = "UuId", Description = "Server UuId", IsRequired = false, DataType = "string", ParameterType = "path", Verb = "GET")]
public string UuId { get; set; }
@@ -68,14 +74,12 @@ namespace MediaBrowser.Api.Dlna
{
private readonly IDlnaManager _dlnaManager;
private readonly IContentDirectory _contentDirectory;
- private readonly IEventManager _eventManager;
private readonly IConnectionManager _connectionManager;
- public DlnaServerService(IDlnaManager dlnaManager, IContentDirectory contentDirectory, IEventManager eventManager, IConnectionManager connectionManager)
+ public DlnaServerService(IDlnaManager dlnaManager, IContentDirectory contentDirectory, IConnectionManager connectionManager)
{
_dlnaManager = dlnaManager;
_contentDirectory = contentDirectory;
- _eventManager = eventManager;
_connectionManager = connectionManager;
}
@@ -158,7 +162,17 @@ namespace MediaBrowser.Api.Dlna
}
}
- public object Any(ProcessEventRequest request)
+ public object Any(ProcessContentDirectoryEventRequest request)
+ {
+ return ProcessEventRequest(_contentDirectory);
+ }
+
+ public object Any(ProcessConnectionManagerEventRequest request)
+ {
+ return ProcessEventRequest(_connectionManager);
+ }
+
+ private object ProcessEventRequest(IEventManager eventManager)
{
var subscriptionId = GetHeader("SID");
var notificationType = GetHeader("NT");
@@ -171,13 +185,13 @@ namespace MediaBrowser.Api.Dlna
{
if (string.IsNullOrEmpty(notificationType))
{
- return GetSubscriptionResponse(_eventManager.RenewEventSubscription(subscriptionId, timeout));
+ return GetSubscriptionResponse(eventManager.RenewEventSubscription(subscriptionId, timeout));
}
- return GetSubscriptionResponse(_eventManager.CreateEventSubscription(notificationType, timeout, callback));
+ return GetSubscriptionResponse(eventManager.CreateEventSubscription(notificationType, timeout, callback));
}
- return GetSubscriptionResponse(_eventManager.CancelEventSubscription(subscriptionId));
+ return GetSubscriptionResponse(eventManager.CancelEventSubscription(subscriptionId));
}
private object GetSubscriptionResponse(EventSubscriptionResponse response)