// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information.
using System.Diagnostics.CodeAnalysis;
using Microsoft.AspNet.SignalR.Hubs;
namespace Microsoft.AspNet.SignalR.Infrastructure
{
///
/// Provides access to hubs and persistent connections references.
///
public interface IConnectionManager
{
///
/// Returns a for the specified .
///
/// Type of the
/// a for the specified
[SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvideTypeParameter", Justification = "The hub type needs to be specified")]
IHubContext GetHubContext() where T : IHub;
///
/// Returns a for the specified hub.
///
/// Name of the hub
/// a for the specified hub
IHubContext GetHubContext(string hubName);
///
/// Returns a for the .
///
/// Type of the
/// A for the .
[SuppressMessage("Microsoft.Design", "CA1004:GenericMethodsShouldProvideTypeParameter", Justification = "The connection type needs to be specified")]
IPersistentConnectionContext GetConnectionContext() where T : PersistentConnection;
}
}