Skip to content

Commit

Permalink
Refactored more code out to be more generic
Browse files Browse the repository at this point in the history
  • Loading branch information
cburgdorf committed Mar 11, 2012
1 parent 7a7d988 commit 6bbfc73
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
6 changes: 3 additions & 3 deletions SignalR.Reactive/SignalR.Reactive/Clientside.cs
Expand Up @@ -27,9 +27,9 @@ public IDisposable Observable<THub>(string eventName, string clientName) where T
clients = string.IsNullOrEmpty(clientName) ? clients : clients[clientName];

return _observable.Subscribe(
x => clients.Invoke(ClientsideConstants.OnNextMethodName, new { Data = x, EventName = eventName, Type = ClientsideConstants.OnNextType }),
x => clients.Invoke(ClientsideConstants.OnNextMethodName, new { Data = x, EventName = eventName, Type = ClientsideConstants.OnErrorType }),
() => clients.Invoke(ClientsideConstants.OnNextMethodName, new { EventName = eventName, Type = ClientsideConstants.OnCompletedType })
x => RxHelper.RaiseOnNext(eventName, clients, x),
x => RxHelper.RaiseOnError(eventName, clients, x),
() => RxHelper.RaiseOnCompleted(eventName, clients)
);
}

Expand Down
15 changes: 15 additions & 0 deletions SignalR.Reactive/SignalR.Reactive/RxHelper.cs
Expand Up @@ -14,5 +14,20 @@ public static dynamic GetHubClients<THub>() where THub : Hub, new()
var connectionManager = DependencyResolverContext.Instance.Resolve<IConnectionManager>();
return connectionManager.GetClients<THub>();
}

public static void RaiseOnNext<T>(string eventName, dynamic clients, T payload)
{
clients.Invoke(ClientsideConstants.OnNextMethodName, new { Data = payload, EventName = eventName, Type = ClientsideConstants.OnNextType});
}

public static void RaiseOnError(string eventName, dynamic clients, Exception payload)
{
clients.Invoke(ClientsideConstants.OnNextMethodName,new { Data = payload, EventName = eventName, Type = ClientsideConstants.OnErrorType});
}

public static void RaiseOnCompleted(string eventName, dynamic clients)
{
clients.Invoke(ClientsideConstants.OnNextMethodName, new { EventName = eventName, Type = ClientsideConstants.OnCompletedType});
}
}
}

0 comments on commit 6bbfc73

Please sign in to comment.