diff options
Diffstat (limited to 'Rx.NET/System.Reactive.WindowsRuntime/Linq/WindowsObservable.Events.cs')
-rw-r--r-- | Rx.NET/System.Reactive.WindowsRuntime/Linq/WindowsObservable.Events.cs | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/Rx.NET/System.Reactive.WindowsRuntime/Linq/WindowsObservable.Events.cs b/Rx.NET/System.Reactive.WindowsRuntime/Linq/WindowsObservable.Events.cs deleted file mode 100644 index a2b7dc5..0000000 --- a/Rx.NET/System.Reactive.WindowsRuntime/Linq/WindowsObservable.Events.cs +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information. - -#if HAS_WINRT -using System.Threading; -using Windows.Foundation; - -namespace System.Reactive.Linq -{ - /// <summary> - /// Provides a set of static methods for importing typed events from Windows Runtime APIs. - /// </summary> - public static partial class WindowsObservable - { - /// <summary> - /// Converts a typed event, conforming to the standard event pattern, to an observable sequence. - /// </summary> - /// <typeparam name="TSender">The type of the sender that raises the event.</typeparam> - /// <typeparam name="TResult">The type of the event data generated by the event.</typeparam> - /// <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param> - /// <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param> - /// <returns>The observable sequence that contains data representations of invocations of the underlying typed event.</returns> - /// <exception cref="ArgumentNullException"><paramref name="addHandler"/> or <paramref name="removeHandler"/> is null.</exception> - /// <seealso cref="WindowsObservable.ToEventPattern"/> - public static IObservable<EventPattern<TSender, TResult>> FromEventPattern<TSender, TResult>(Action<TypedEventHandler<TSender, TResult>> addHandler, Action<TypedEventHandler<TSender, TResult>> removeHandler) - { - if (addHandler == null) - throw new ArgumentNullException("addHandler"); - if (removeHandler == null) - throw new ArgumentNullException("removeHandler"); - - return Observable.Create<EventPattern<TSender, TResult>>(observer => - { - var h = new TypedEventHandler<TSender, TResult>((sender, args) => - { - observer.OnNext(new EventPattern<TSender, TResult>(sender, args)); - }); - - addHandler(h); - - return () => - { - removeHandler(h); - }; - }); - } - - /// <summary> - /// Converts a typed event, conforming to the standard event pattern, to an observable sequence. - /// </summary> - /// <typeparam name="TDelegate">The delegate type of the event to be converted.</typeparam> - /// <typeparam name="TSender">The type of the sender that raises the event.</typeparam> - /// <typeparam name="TResult">The type of the event data generated by the event.</typeparam> - /// <param name="conversion">A function used to convert the given event handler to a delegate compatible with the underlying typed event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters.</param> - /// <param name="addHandler">Action that attaches the given event handler to the underlying .NET event.</param> - /// <param name="removeHandler">Action that detaches the given event handler from the underlying .NET event.</param> - /// <returns>The observable sequence that contains data representations of invocations of the underlying typed event.</returns> - /// <exception cref="ArgumentNullException"><paramref name="conversion"/> or <paramref name="addHandler"/> or <paramref name="removeHandler"/> is null.</exception> - /// <seealso cref="WindowsObservable.ToEventPattern"/> - public static IObservable<EventPattern<TSender, TResult>> FromEventPattern<TDelegate, TSender, TResult>(Func<TypedEventHandler<TSender, TResult>, TDelegate> conversion, Action<TDelegate> addHandler, Action<TDelegate> removeHandler) - { - if (conversion == null) - throw new ArgumentNullException("conversion"); - if (addHandler == null) - throw new ArgumentNullException("addHandler"); - if (removeHandler == null) - throw new ArgumentNullException("removeHandler"); - - return Observable.Create<EventPattern<TSender, TResult>>(observer => - { - var h = conversion(new TypedEventHandler<TSender, TResult>((sender, args) => - { - observer.OnNext(new EventPattern<TSender, TResult>(sender, args)); - })); - - addHandler(h); - - return () => - { - removeHandler(h); - }; - }); - } - - /// <summary> - /// Exposes an observable sequence as an object with a typed event. - /// </summary> - /// <typeparam name="TSender">The type of the sender that raises the event.</typeparam> - /// <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam> - /// <param name="source">Observable source sequence.</param> - /// <returns>The event source object.</returns> - /// <exception cref="ArgumentNullException"><paramref name="source"/> is null.</exception> - public static IEventPatternSource<TSender, TEventArgs> ToEventPattern<TSender, TEventArgs>(this IObservable<EventPattern<TSender, TEventArgs>> source) - { - if (source == null) - throw new ArgumentNullException("source"); - - return new EventPatternSource<TSender, TEventArgs>(source, (h, evt) => h(evt.Sender, evt.EventArgs)); - } - } -} -#endif
\ No newline at end of file |