diff --git a/src/Microsoft.AspNet.SignalR.Core/Microsoft.AspNet.SignalR.Core.csproj b/src/Microsoft.AspNet.SignalR.Core/Microsoft.AspNet.SignalR.Core.csproj
index 69a84c46a1..ad7594c8d8 100644
--- a/src/Microsoft.AspNet.SignalR.Core/Microsoft.AspNet.SignalR.Core.csproj
+++ b/src/Microsoft.AspNet.SignalR.Core/Microsoft.AspNet.SignalR.Core.csproj
@@ -43,9 +43,6 @@
4
-
- ..\packages\Microsoft.AspNet.SignalR.Client.2.1.1\lib\net40\Microsoft.AspNet.SignalR.Client.dll
-
False
..\packages\Newtonsoft.Json.6.0.4\lib\net40\Newtonsoft.Json.dll
diff --git a/src/Microsoft.AspNet.SignalR.Core/packages.config b/src/Microsoft.AspNet.SignalR.Core/packages.config
index 503ad43710..24c2fdd748 100644
--- a/src/Microsoft.AspNet.SignalR.Core/packages.config
+++ b/src/Microsoft.AspNet.SignalR.Core/packages.config
@@ -1,5 +1,4 @@
-
\ No newline at end of file
diff --git a/src/NzbDrone.Api/Calendar/CalendarModule.cs b/src/NzbDrone.Api/Calendar/CalendarModule.cs
index 79fabf7ed2..a97e55e8bc 100644
--- a/src/NzbDrone.Api/Calendar/CalendarModule.cs
+++ b/src/NzbDrone.Api/Calendar/CalendarModule.cs
@@ -5,6 +5,7 @@
using NzbDrone.Api.Extensions;
using NzbDrone.Core.Messaging.Commands;
using NzbDrone.Core.Tv;
+using NzbDrone.SignalR;
namespace NzbDrone.Api.Calendar
{
@@ -13,10 +14,10 @@ public class CalendarModule : EpisodeModuleWithSignalR
private readonly IEpisodeService _episodeService;
private readonly SeriesRepository _seriesRepository;
- public CalendarModule(ICommandExecutor commandExecutor,
+ public CalendarModule(IBroadcastSignalRMessage signalRBroadcaster,
IEpisodeService episodeService,
SeriesRepository seriesRepository)
- : base(episodeService, commandExecutor, "calendar")
+ : base(episodeService, signalRBroadcaster, "calendar")
{
_episodeService = episodeService;
_seriesRepository = seriesRepository;
diff --git a/src/NzbDrone.Api/Commands/CommandModule.cs b/src/NzbDrone.Api/Commands/CommandModule.cs
index ddb5ff9567..4afcf2c804 100644
--- a/src/NzbDrone.Api/Commands/CommandModule.cs
+++ b/src/NzbDrone.Api/Commands/CommandModule.cs
@@ -10,6 +10,7 @@
using NzbDrone.Core.Messaging.Commands.Tracking;
using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.ProgressMessaging;
+using NzbDrone.SignalR;
namespace NzbDrone.Api.Commands
@@ -20,8 +21,8 @@ public class CommandModule : NzbDroneRestModuleWithSignalR : NzbDron
where TResource : RestResource, new()
where TModel : ModelBase
{
- private readonly ICommandExecutor _commandExecutor;
+ private readonly IBroadcastSignalRMessage _signalRBroadcaster;
- protected NzbDroneRestModuleWithSignalR(ICommandExecutor commandExecutor)
+ protected NzbDroneRestModuleWithSignalR(IBroadcastSignalRMessage signalRBroadcaster)
{
- _commandExecutor = commandExecutor;
+ _signalRBroadcaster = signalRBroadcaster;
}
- protected NzbDroneRestModuleWithSignalR(ICommandExecutor commandExecutor, string resource)
+ protected NzbDroneRestModuleWithSignalR(IBroadcastSignalRMessage signalRBroadcaster, string resource)
: base(resource)
{
- _commandExecutor = commandExecutor;
+ _signalRBroadcaster = signalRBroadcaster;
}
public void Handle(ModelEvent message)
@@ -34,6 +33,13 @@ public void Handle(ModelEvent message)
BroadcastResourceChange(message.Action, message.Model.Id);
}
+ protected void BroadcastResourceChange(ModelAction action, int id)
+ {
+ var resource = GetResourceById(id);
+ BroadcastResourceChange(action, resource);
+ }
+
+
protected void BroadcastResourceChange(ModelAction action, TResource resource)
{
var signalRMessage = new SignalRMessage
@@ -42,22 +48,10 @@ protected void BroadcastResourceChange(ModelAction action, TResource resource)
Body = new ResourceChangeMessage(resource, action)
};
- _commandExecutor.PublishCommand(new BroadcastSignalRMessage(signalRMessage));
- }
-
- protected void BroadcastResourceChange(ModelAction action, int id)
- {
- var resource = GetResourceById(id);
-
- var signalRMessage = new SignalRMessage
- {
- Name = Resource,
- Body = new ResourceChangeMessage(resource, action)
- };
-
- _commandExecutor.PublishCommand(new BroadcastSignalRMessage(signalRMessage));
+ _signalRBroadcaster.BroadcastMessage(signalRMessage);
}
+
protected void BroadcastResourceChange(ModelAction action)
{
var signalRMessage = new SignalRMessage
@@ -66,7 +60,7 @@ protected void BroadcastResourceChange(ModelAction action)
Body = new ResourceChangeMessage(action)
};
- _commandExecutor.PublishCommand(new BroadcastSignalRMessage(signalRMessage));
+ _signalRBroadcaster.BroadcastMessage(signalRMessage);
}
}
}
\ No newline at end of file
diff --git a/src/NzbDrone.Api/Queue/QueueModule.cs b/src/NzbDrone.Api/Queue/QueueModule.cs
index 1c735050ab..69dc0a9ad9 100644
--- a/src/NzbDrone.Api/Queue/QueueModule.cs
+++ b/src/NzbDrone.Api/Queue/QueueModule.cs
@@ -2,9 +2,9 @@
using System.Linq;
using NzbDrone.Core.Datastore.Events;
using NzbDrone.Core.Download.Pending;
-using NzbDrone.Core.Messaging.Commands;
using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.Queue;
+using NzbDrone.SignalR;
namespace NzbDrone.Api.Queue
{
@@ -14,8 +14,8 @@ public class QueueModule : NzbDroneRestModuleWithSignalR());
CommandEqualityComparer.Instance.Equals(command1, command2).Should().BeFalse();
}
diff --git a/src/NzbDrone.Core/Jobs/TaskManager.cs b/src/NzbDrone.Core/Jobs/TaskManager.cs
index 51275c91f9..46c6f79d5e 100644
--- a/src/NzbDrone.Core/Jobs/TaskManager.cs
+++ b/src/NzbDrone.Core/Jobs/TaskManager.cs
@@ -102,9 +102,6 @@ public void Handle(ApplicationStartedEvent message)
public void Handle(CommandExecutedEvent message)
{
- if (message.Command.GetType().Name == "BroadcastSignalRMessage")
- return;
-
var scheduledTask = _scheduledTaskRepository.All().SingleOrDefault(c => c.TypeName == message.Command.GetType().FullName);
if (scheduledTask != null)
@@ -122,7 +119,7 @@ public void HandleAsync(ConfigSavedEvent message)
var downloadedEpisodes = _scheduledTaskRepository.GetDefinition(typeof(DownloadedEpisodesScanCommand));
downloadedEpisodes.Interval = _configService.DownloadedEpisodesScanInterval;
- _scheduledTaskRepository.UpdateMany(new List{ rss, downloadedEpisodes });
+ _scheduledTaskRepository.UpdateMany(new List { rss, downloadedEpisodes });
}
}
}
diff --git a/src/NzbDrone.SignalR/BroadcastSignalRMessage.cs b/src/NzbDrone.SignalR/BroadcastSignalRMessage.cs
deleted file mode 100644
index d989affc3f..0000000000
--- a/src/NzbDrone.SignalR/BroadcastSignalRMessage.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using NzbDrone.Core.Messaging.Commands;
-
-namespace NzbDrone.SignalR
-{
- public class BroadcastSignalRMessage : Command
- {
- public SignalRMessage Body { get; private set; }
-
- public BroadcastSignalRMessage(SignalRMessage body)
- {
- Body = body;
- }
- }
-}
\ No newline at end of file
diff --git a/src/NzbDrone.SignalR/NzbDrone.SignalR.csproj b/src/NzbDrone.SignalR/NzbDrone.SignalR.csproj
index ad9160e06b..0e50162e37 100644
--- a/src/NzbDrone.SignalR/NzbDrone.SignalR.csproj
+++ b/src/NzbDrone.SignalR/NzbDrone.SignalR.csproj
@@ -50,7 +50,6 @@
Properties\SharedAssemblyInfo.cs
-
diff --git a/src/NzbDrone.SignalR/NzbDronePersistentConnection.cs b/src/NzbDrone.SignalR/NzbDronePersistentConnection.cs
index 8152380222..2a25333761 100644
--- a/src/NzbDrone.SignalR/NzbDronePersistentConnection.cs
+++ b/src/NzbDrone.SignalR/NzbDronePersistentConnection.cs
@@ -4,7 +4,12 @@
namespace NzbDrone.SignalR
{
- public sealed class NzbDronePersistentConnection : PersistentConnection, IExecute
+ public interface IBroadcastSignalRMessage
+ {
+ void BroadcastMessage(SignalRMessage message);
+ }
+
+ public sealed class NzbDronePersistentConnection : PersistentConnection, IBroadcastSignalRMessage
{
private IPersistentConnectionContext Context
{
@@ -14,9 +19,9 @@ private IPersistentConnectionContext Context
}
}
- public void Execute(BroadcastSignalRMessage message)
+ public void BroadcastMessage(SignalRMessage message)
{
- Context.Connection.Broadcast(message.Body);
+ Context.Connection.Broadcast(message);
}
}
}
\ No newline at end of file