// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
#if !NO_EXPRESSIONS
using System.Linq.Expressions;
namespace System.Reactive.Linq
{
///
/// Defines methods to create and execute queries that are described by an IQbservable object.
///
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", MessageId = "Qbservable", Justification = "What a pleasure to write 'by design' here.")]
public interface IQbservableProvider
{
///
/// Constructs an IQbservable>TResult< object that can evaluate the query represented by a specified expression tree.
///
/// The type of the elements of the System.Reactive.Linq.IQbservable<T> that is returned.
/// Expression tree representing the query.
/// IQbservable object that can evaluate the given query expression.
IQbservable CreateQuery(Expression expression);
}
}
#endif