|
@@ -33,8 +33,7 @@ namespace System.Reactive.Linq
|
|
|
|
|
|
return ObserveOn_<TSource>(source, dispatcher);
|
|
|
}
|
|
|
-
|
|
|
-#if HAS_DISPATCHER_PRIORITY
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Wraps the source sequence in order to run its observer callbacks on the specified dispatcher.
|
|
|
/// </summary>
|
|
@@ -53,7 +52,6 @@ namespace System.Reactive.Linq
|
|
|
|
|
|
return ObserveOn_<TSource>(source, dispatcher, priority);
|
|
|
}
|
|
|
-#endif
|
|
|
|
|
|
/// <summary>
|
|
|
/// Wraps the source sequence in order to run its observer callbacks on the specified dispatcher scheduler.
|
|
@@ -69,33 +67,11 @@ namespace System.Reactive.Linq
|
|
|
throw new ArgumentNullException(nameof(source));
|
|
|
if (scheduler == null)
|
|
|
throw new ArgumentNullException(nameof(scheduler));
|
|
|
-
|
|
|
-#if HAS_DISPATCHER_PRIORITY
|
|
|
+
|
|
|
return ObserveOn_<TSource>(source, scheduler.Dispatcher, scheduler.Priority);
|
|
|
-#else
|
|
|
- return ObserveOn_<TSource>(source, scheduler.Dispatcher);
|
|
|
-#endif
|
|
|
}
|
|
|
|
|
|
-#if USE_SL_DISPATCHER
|
|
|
- /// <summary>
|
|
|
- /// Wraps the source sequence in order to run its observer callbacks on the dispatcher associated with the specified object.
|
|
|
- /// </summary>
|
|
|
- /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
|
|
|
- /// <param name="source">Source sequence.</param>
|
|
|
- /// <param name="dependencyObject">Object to get the dispatcher from.</param>
|
|
|
- /// <returns>The source sequence whose observations happen on the specified object's dispatcher.</returns>
|
|
|
- /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="dependencyObject"/> is null.</exception>
|
|
|
- public static IObservable<TSource> ObserveOn<TSource>(this IObservable<TSource> source, DependencyObject dependencyObject)
|
|
|
- {
|
|
|
- if (source == null)
|
|
|
- throw new ArgumentNullException("source");
|
|
|
- if (dependencyObject == null)
|
|
|
- throw new ArgumentNullException("dependencyObject");
|
|
|
|
|
|
- return ObserveOn_<TSource>(source, dependencyObject.Dispatcher);
|
|
|
- }
|
|
|
-#else
|
|
|
/// <summary>
|
|
|
/// Wraps the source sequence in order to run its observer callbacks on the dispatcher associated with the specified object.
|
|
|
/// </summary>
|
|
@@ -113,9 +89,7 @@ namespace System.Reactive.Linq
|
|
|
|
|
|
return ObserveOn_<TSource>(source, dispatcherObject.Dispatcher);
|
|
|
}
|
|
|
-#endif
|
|
|
|
|
|
-#if HAS_DISPATCHER_PRIORITY
|
|
|
/// <summary>
|
|
|
/// Wraps the source sequence in order to run its observer callbacks on the dispatcher associated with the specified object.
|
|
|
/// </summary>
|
|
@@ -134,7 +108,7 @@ namespace System.Reactive.Linq
|
|
|
|
|
|
return ObserveOn_<TSource>(source, dispatcherObject.Dispatcher, priority);
|
|
|
}
|
|
|
-#endif
|
|
|
+
|
|
|
|
|
|
/// <summary>
|
|
|
/// Wraps the source sequence in order to run its observer callbacks on the dispatcher associated with the current thread.
|
|
@@ -148,14 +122,9 @@ namespace System.Reactive.Linq
|
|
|
if (source == null)
|
|
|
throw new ArgumentNullException(nameof(source));
|
|
|
|
|
|
-#if USE_SL_DISPATCHER
|
|
|
- return ObserveOn_<TSource>(source, System.Windows.Deployment.Current.Dispatcher);
|
|
|
-#else
|
|
|
return ObserveOn_<TSource>(source, DispatcherScheduler.Current.Dispatcher);
|
|
|
-#endif
|
|
|
}
|
|
|
-
|
|
|
-#if HAS_DISPATCHER_PRIORITY
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Wraps the source sequence in order to run its observer callbacks on the dispatcher associated with the current thread.
|
|
|
/// </summary>
|
|
@@ -176,7 +145,7 @@ namespace System.Reactive.Linq
|
|
|
{
|
|
|
return Synchronization.ObserveOn(source, new DispatcherSynchronizationContext(dispatcher, priority));
|
|
|
}
|
|
|
-#endif
|
|
|
+
|
|
|
|
|
|
private static IObservable<TSource> ObserveOn_<TSource>(IObservable<TSource> source, Dispatcher dispatcher)
|
|
|
{
|
|
@@ -208,8 +177,7 @@ namespace System.Reactive.Linq
|
|
|
|
|
|
return SubscribeOn_<TSource>(source, dispatcher);
|
|
|
}
|
|
|
-
|
|
|
-#if HAS_DISPATCHER_PRIORITY
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Wraps the source sequence in order to run its subscription and unsubscription logic on the specified dispatcher.
|
|
|
/// </summary>
|
|
@@ -232,7 +200,7 @@ namespace System.Reactive.Linq
|
|
|
|
|
|
return SubscribeOn_<TSource>(source, dispatcher, priority);
|
|
|
}
|
|
|
-#endif
|
|
|
+
|
|
|
|
|
|
/// <summary>
|
|
|
/// Wraps the source sequence in order to run its subscription and unsubscription logic on the specified dispatcher scheduler.
|
|
@@ -253,36 +221,9 @@ namespace System.Reactive.Linq
|
|
|
if (scheduler == null)
|
|
|
throw new ArgumentNullException(nameof(scheduler));
|
|
|
|
|
|
-#if HAS_DISPATCHER_PRIORITY
|
|
|
return SubscribeOn_<TSource>(source, scheduler.Dispatcher, scheduler.Priority);
|
|
|
-#else
|
|
|
- return SubscribeOn_<TSource>(source, scheduler.Dispatcher);
|
|
|
-#endif
|
|
|
}
|
|
|
|
|
|
-#if USE_SL_DISPATCHER
|
|
|
- /// <summary>
|
|
|
- /// Wraps the source sequence in order to run its subscription and unsubscription logic on the dispatcher associated with the specified object.
|
|
|
- /// </summary>
|
|
|
- /// <typeparam name="TSource">The type of the elements in the source sequence.</typeparam>
|
|
|
- /// <param name="source">Source sequence.</param>
|
|
|
- /// <param name="dependencyObject">Object to get the dispatcher from.</param>
|
|
|
- /// <returns>The source sequence whose subscriptions and unsubscriptions happen on the specified object's dispatcher.</returns>
|
|
|
- /// <exception cref="ArgumentNullException"><paramref name="source"/> or <paramref name="dependencyObject"/> is null.</exception>
|
|
|
- /// <remarks>
|
|
|
- /// Only the side-effects of subscribing to the source sequence and disposing subscriptions to the source sequence are run on the dispatcher associated with the specified object.
|
|
|
- /// In order to invoke observer callbacks on the dispatcher associated with the specified object, e.g. to render results in a control, use <see cref="DispatcherObservable.ObserveOn{TSource}(IObservable{TSource}, DependencyObject)"/>.
|
|
|
- /// </remarks>
|
|
|
- public static IObservable<TSource> SubscribeOn<TSource>(this IObservable<TSource> source, DependencyObject dependencyObject)
|
|
|
- {
|
|
|
- if (source == null)
|
|
|
- throw new ArgumentNullException("source");
|
|
|
- if (dependencyObject == null)
|
|
|
- throw new ArgumentNullException("dependencyObject");
|
|
|
-
|
|
|
- return SubscribeOn_<TSource>(source, dependencyObject.Dispatcher);
|
|
|
- }
|
|
|
-#else
|
|
|
/// <summary>
|
|
|
/// Wraps the source sequence in order to run its subscription and unsubscription logic on the dispatcher associated with the specified object.
|
|
|
/// </summary>
|
|
@@ -304,9 +245,7 @@ namespace System.Reactive.Linq
|
|
|
|
|
|
return SubscribeOn_<TSource>(source, dispatcherObject.Dispatcher);
|
|
|
}
|
|
|
-#endif
|
|
|
-
|
|
|
-#if HAS_DISPATCHER_PRIORITY
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// Wraps the source sequence in order to run its subscription and unsubscription logic on the dispatcher associated with the specified object.
|
|
|
/// </summary>
|
|
@@ -329,7 +268,6 @@ namespace System.Reactive.Linq
|
|
|
|
|
|
return SubscribeOn_<TSource>(source, dispatcherObject.Dispatcher, priority);
|
|
|
}
|
|
|
-#endif
|
|
|
|
|
|
/// <summary>
|
|
|
/// Wraps the source sequence in order to run its subscription and unsubscription logic on the dispatcher associated with the current thread.
|
|
@@ -347,14 +285,9 @@ namespace System.Reactive.Linq
|
|
|
if (source == null)
|
|
|
throw new ArgumentNullException(nameof(source));
|
|
|
|
|
|
-#if USE_SL_DISPATCHER
|
|
|
- return SubscribeOn_<TSource>(source, System.Windows.Deployment.Current.Dispatcher);
|
|
|
-#else
|
|
|
return SubscribeOn_<TSource>(source, DispatcherScheduler.Current.Dispatcher);
|
|
|
-#endif
|
|
|
}
|
|
|
|
|
|
-#if HAS_DISPATCHER_PRIORITY
|
|
|
/// <summary>
|
|
|
/// Wraps the source sequence in order to run its subscription and unsubscription logic on the dispatcher associated with the current thread.
|
|
|
/// </summary>
|
|
@@ -379,7 +312,7 @@ namespace System.Reactive.Linq
|
|
|
{
|
|
|
return Synchronization.SubscribeOn(source, new DispatcherSynchronizationContext(dispatcher, priority));
|
|
|
}
|
|
|
-#endif
|
|
|
+
|
|
|
|
|
|
private static IObservable<TSource> SubscribeOn_<TSource>(IObservable<TSource> source, Dispatcher dispatcher)
|
|
|
{
|