Class SubscriptionsExtensions
Inheritance
System.Object
SubscriptionsExtensions
Assembly: Eco.Shared.dll
Syntax
public static class SubscriptionsExtensions : Object
Fields
CreatePropertySubscription
Function which creates IPropertySubscription, for server it will create ImmutablePropertySubscription instead of PropertySubscription, because it is thread-safe
Declaration
public static Func<IObservable, string, Action, IPropertySubscription> CreatePropertySubscription
Field Value
Methods
AddSubscription<TSubscriptionsList>(ISubscriptions<TSubscriptionsList>, ISubscription)
Declaration
public static void AddSubscription<TSubscriptionsList>(this ISubscriptions<TSubscriptionsList> ss, ISubscription subscription)
where TSubscriptionsList : ISubscriptionsList
Parameters
Type Parameters
Name |
Description |
TSubscriptionsList |
|
DestroyNestedSubscriptions<TSubscriptionsList>(ISubscriptions<TSubscriptionsList>, TSubscriptionsList)
Declaration
public static void DestroyNestedSubscriptions<TSubscriptionsList>(this ISubscriptions<TSubscriptionsList> subs, TSubscriptionsList nested)
where TSubscriptionsList : ISubscriptionsList
Parameters
Type |
Name |
Description |
ISubscriptions<TSubscriptionsList> |
subs |
|
TSubscriptionsList |
nested |
|
Type Parameters
Name |
Description |
TSubscriptionsList |
|
MakeNestedSubscriptions<TSubscriptionsList>(ISubscriptions<TSubscriptionsList>)
Declaration
public static TSubscriptionsList MakeNestedSubscriptions<TSubscriptionsList>(this ISubscriptions<TSubscriptionsList> ss)
where TSubscriptionsList : ISubscriptionsList, ISupportNestedSubscriptions<TSubscriptionsList>
Parameters
Returns
Type |
Description |
TSubscriptionsList |
|
Type Parameters
Name |
Description |
TSubscriptionsList |
|
RemoveSubscription<TSubscriptionsList>(ISubscriptions<TSubscriptionsList>, ISubscription)
Unsubscribes specific subscription
.
Declaration
public static bool RemoveSubscription<TSubscriptionsList>(this ISubscriptions<TSubscriptionsList> ss, ISubscription subscription)
where TSubscriptionsList : ISubscriptionsList
Parameters
Returns
Type |
Description |
System.Boolean |
|
Type Parameters
Name |
Description |
TSubscriptionsList |
|
Subscribe<TSubscriptionsList>(ISubscriptions<TSubscriptionsList>, IObservable, String, Action)
Declaration
public static ISubscription Subscribe<TSubscriptionsList>(this ISubscriptions<TSubscriptionsList> ss, IObservable s, string propertyName, Action changedCallback)
where TSubscriptionsList : ISubscriptionsList
Parameters
Type |
Name |
Description |
ISubscriptions<TSubscriptionsList> |
ss |
|
IObservable |
s |
|
System.String |
propertyName |
|
System.Action |
changedCallback |
|
Returns
Type Parameters
Name |
Description |
TSubscriptionsList |
|
Subscribe<TSubscriptionsList, T>(ISubscriptions<TSubscriptionsList>, SubscribableEvent<T>, T)
Declaration
public static void Subscribe<TSubscriptionsList, T>(this ISubscriptions<TSubscriptionsList> ss, SubscribableEvent<T> eventAction, T callback)
where TSubscriptionsList : ISubscriptionsList where T : Delegate
Parameters
Type Parameters
Name |
Description |
TSubscriptionsList |
|
T |
|
SubscribeAndCall<TSubscriptionsList>(ISubscriptions<TSubscriptionsList>, IObservable, String, Action)
Declaration
public static void SubscribeAndCall<TSubscriptionsList>(this ISubscriptions<TSubscriptionsList> ss, IObservable s, string propname, Action changedCallback)
where TSubscriptionsList : ISubscriptionsList
Parameters
Type |
Name |
Description |
ISubscriptions<TSubscriptionsList> |
ss |
|
IObservable |
s |
|
System.String |
propname |
|
System.Action |
changedCallback |
|
Type Parameters
Name |
Description |
TSubscriptionsList |
|
SubscribeAndCall<TSubscriptionsList>(ISubscriptions<TSubscriptionsList>, SubscribableEvent<Action>, Action)
Declaration
public static void SubscribeAndCall<TSubscriptionsList>(this ISubscriptions<TSubscriptionsList> ss, SubscribableEvent<Action> eventAction, Action callback)
where TSubscriptionsList : ISubscriptionsList
Parameters
Type Parameters
Name |
Description |
TSubscriptionsList |
|
SubscribeUnique<TSubscriptionsList>(ISubscriptions<TSubscriptionsList>, IObservable, String, Action)
Declaration
public static bool SubscribeUnique<TSubscriptionsList>(this ISubscriptions<TSubscriptionsList> ss, IObservable s, string propname, Action changedCallback)
where TSubscriptionsList : ISubscriptionsList
Parameters
Type |
Name |
Description |
ISubscriptions<TSubscriptionsList> |
ss |
|
IObservable |
s |
|
System.String |
propname |
|
System.Action |
changedCallback |
|
Returns
Type |
Description |
System.Boolean |
|
Type Parameters
Name |
Description |
TSubscriptionsList |
|
SubscribeUniqueAndCall<TSubscriptionsList>(ISubscriptions<TSubscriptionsList>, IObservable, String, Action)
Declaration
public static bool SubscribeUniqueAndCall<TSubscriptionsList>(this ISubscriptions<TSubscriptionsList> ss, IObservable s, string propname, Action changedCallback)
where TSubscriptionsList : ISubscriptionsList
Parameters
Type |
Name |
Description |
ISubscriptions<TSubscriptionsList> |
ss |
|
IObservable |
s |
|
System.String |
propname |
|
System.Action |
changedCallback |
|
Returns
Type |
Description |
System.Boolean |
|
Type Parameters
Name |
Description |
TSubscriptionsList |
|
SubscribeWithoutTracking(IObservable, String, Action)
Creates a subscription but doesnt track it within a Subscriptions object. Should only be used when something is subscribing to its own properties,
meaning both 'watched' and 'watcher' are a single object and die at the same time.
Declaration
public static ISubscription SubscribeWithoutTracking(IObservable observable, string propname, Action callback)
Parameters
Type |
Name |
Description |
IObservable |
observable |
|
System.String |
propname |
|
System.Action |
callback |
|
Returns
TrySubscribe<TSubscriptionsList>(ISubscriptions<TSubscriptionsList>, IPropertySubscription)
Tries to add subscription
to ss
. Internally it subscribes on Subject. If subscription already was added to same property with same callback then it will return false
and won't add subscription.
Declaration
public static bool TrySubscribe<TSubscriptionsList>(this ISubscriptions<TSubscriptionsList> ss, IPropertySubscription subscription)
where TSubscriptionsList : ISubscriptionsList
Parameters
Returns
Type |
Description |
System.Boolean |
|
Type Parameters
Name |
Description |
TSubscriptionsList |
|
Unsubscribe<TSubscriptionsList>(ISubscriptions<TSubscriptionsList>, IObservable, String, Action)
Declaration
public static void Unsubscribe<TSubscriptionsList>(this ISubscriptions<TSubscriptionsList> ss, IObservable subject, string propertyName, Action changedCallback)
where TSubscriptionsList : ISubscriptionsList
Parameters
Type |
Name |
Description |
ISubscriptions<TSubscriptionsList> |
ss |
|
IObservable |
subject |
|
System.String |
propertyName |
|
System.Action |
changedCallback |
|
Type Parameters
Name |
Description |
TSubscriptionsList |
|
UnsubscribeAll<TSubscriptionsList>(ISubscriptions<TSubscriptionsList>, Boolean)
Unsubscribes all previously added subscriptions and cleans subscription collection.
Declaration
public static void UnsubscribeAll<TSubscriptionsList>(this ISubscriptions<TSubscriptionsList> ss, bool release = false)
where TSubscriptionsList : ISubscriptionsList
Parameters
Type |
Name |
Description |
ISubscriptions<TSubscriptionsList> |
ss |
|
System.Boolean |
release |
by default Subscriptions list will be just cleared and then may be reused without recreation of list, but if Subscriptions won't be used anymore they may be released and returned to pool.
|
Type Parameters
Name |
Description |
TSubscriptionsList |
|
UnsubscribeAll<TSubscriptionsList>(ISubscriptions<TSubscriptionsList>, Func<ISubscription, Boolean>)
Unsubscribe all subscriptions matching predicate.
Declaration
public static void UnsubscribeAll<TSubscriptionsList>(this ISubscriptions<TSubscriptionsList> ss, Func<ISubscription, bool> predicate)
where TSubscriptionsList : ISubscriptionsList
Parameters
Type Parameters
Name |
Description |
TSubscriptionsList |
|
UnsubscribeAll<TSubscriptionsList, TPredicate>(ISubscriptions<TSubscriptionsList>, TPredicate)
Unsubscribe all subscriptions matching predicate.
Declaration
public static void UnsubscribeAll<TSubscriptionsList, TPredicate>(this ISubscriptions<TSubscriptionsList> ss, TPredicate predicate)
where TSubscriptionsList : ISubscriptionsList where TPredicate : IPredicate<ISubscription>
Parameters
Type |
Name |
Description |
ISubscriptions<TSubscriptionsList> |
ss |
|
TPredicate |
predicate |
|
Type Parameters
Name |
Description |
TSubscriptionsList |
|
TPredicate |
|
UnsubscribeAllForSubject<TSubscriptionsList>(ISubscriptions<TSubscriptionsList>, IObservable)
Unsubscribe all subscriptions for given subject.
Declaration
public static void UnsubscribeAllForSubject<TSubscriptionsList>(this ISubscriptions<TSubscriptionsList> ss, IObservable subject)
where TSubscriptionsList : ISubscriptionsList
Parameters
Type Parameters
Name |
Description |
TSubscriptionsList |
|
UnsubscribeFirst<TSubscriptionsList>(ISubscriptions<TSubscriptionsList>, Func<ISubscription, Boolean>)
Unsubscribes fist subscription matching predicate
.
Declaration
public static bool UnsubscribeFirst<TSubscriptionsList>(this ISubscriptions<TSubscriptionsList> ss, Func<ISubscription, bool> predicate)
where TSubscriptionsList : ISubscriptionsList
Parameters
Returns
Type |
Description |
System.Boolean |
true if a match was found and unsubscribed.
|
Type Parameters
Name |
Description |
TSubscriptionsList |
|
UnsubscribeFirst<TSubscriptionsList, TPredicate>(ISubscriptions<TSubscriptionsList>, TPredicate)
Unsubscribes fist subscription matching predicate
.
Declaration
public static bool UnsubscribeFirst<TSubscriptionsList, TPredicate>(this ISubscriptions<TSubscriptionsList> ss, TPredicate predicate)
where TSubscriptionsList : ISubscriptionsList where TPredicate : IPredicate<ISubscription>
Parameters
Type |
Name |
Description |
ISubscriptions<TSubscriptionsList> |
ss |
|
TPredicate |
predicate |
|
Returns
Type |
Description |
System.Boolean |
true if a match was found and unsubscribed.
|
Type Parameters
Name |
Description |
TSubscriptionsList |
|
TPredicate |
|