// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information.
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
namespace Microsoft.AspNet.SignalR.Hubs
{
///
/// Describes hub descriptor provider, which provides information about available hubs.
///
public interface IHubDescriptorProvider
{
///
/// Retrieve all avaiable hubs.
///
/// Collection of hub descriptors.
[SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "This call might be expensive")]
IList GetHubs();
///
/// Tries to retrieve hub with a given name.
///
/// Name of the hub.
/// Retrieved descriptor object.
/// True, if hub has been found
bool TryGetHub(string hubName, out HubDescriptor descriptor);
}
}