Table of Contents

Class RemoteHookStage<TEvent, TCurrent, TContext>

Namespace
DotBoxD.Plugins.Runtime.Hooks
Assembly
DotBoxD.Plugins.dll
public sealed class RemoteHookStage<TEvent, TCurrent, TContext>

Type Parameters

TEvent
TCurrent
TContext
Inheritance
RemoteHookStage<TEvent, TCurrent, TContext>
Inherited Members

Methods

RegisterLocal<TResult>(Func<TCurrent, CancellationToken, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent, TContext> RegisterLocal<TResult>(Func<TCurrent, CancellationToken, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

handler Func<TCurrent, CancellationToken, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent, TContext>

Type Parameters

TResult

RegisterLocal<TResult>(Func<TCurrent, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent, TContext> RegisterLocal<TResult>(Func<TCurrent, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

handler Func<TCurrent, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent, TContext>

Type Parameters

TResult

RegisterLocal<TResult>(Func<TCurrent, TContext, CancellationToken, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent, TContext> RegisterLocal<TResult>(Func<TCurrent, TContext, CancellationToken, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

handler Func<TCurrent, TContext, CancellationToken, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent, TContext>

Type Parameters

TResult

RegisterLocal<TResult>(Func<TCurrent, TContext, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent, TContext> RegisterLocal<TResult>(Func<TCurrent, TContext, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

handler Func<TCurrent, TContext, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent, TContext>

Type Parameters

TResult

RegisterLocal<TResult>(Func<TCurrent, TContext, TResult>, int)

public RemoteHookPipeline<TEvent, TContext> RegisterLocal<TResult>(Func<TCurrent, TContext, TResult> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

handler Func<TCurrent, TContext, TResult>
priority int

Returns

RemoteHookPipeline<TEvent, TContext>

Type Parameters

TResult

RegisterLocal<TResult>(Func<TCurrent, TResult>, int)

public RemoteHookPipeline<TEvent, TContext> RegisterLocal<TResult>(Func<TCurrent, TResult> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

handler Func<TCurrent, TResult>
priority int

Returns

RemoteHookPipeline<TEvent, TContext>

Type Parameters

TResult

Register<TResult>(Func<TCurrent, TContext, TResult>, int)

public RemoteHookPipeline<TEvent, TContext> Register<TResult>(Func<TCurrent, TContext, TResult> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

handler Func<TCurrent, TContext, TResult>
priority int

Returns

RemoteHookPipeline<TEvent, TContext>

Type Parameters

TResult

Register<TResult>(Func<TCurrent, TResult>, int)

public RemoteHookPipeline<TEvent, TContext> Register<TResult>(Func<TCurrent, TResult> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

handler Func<TCurrent, TResult>
priority int

Returns

RemoteHookPipeline<TEvent, TContext>

Type Parameters

TResult

Run(Action<TCurrent, TContext>)

public RemoteHookPipeline<TEvent, TContext> Run(Action<TCurrent, TContext> handler)

Parameters

handler Action<TCurrent, TContext>

Returns

RemoteHookPipeline<TEvent, TContext>

Run(Action<TCurrent>)

public RemoteHookPipeline<TEvent, TContext> Run(Action<TCurrent> handler)

Parameters

handler Action<TCurrent>

Returns

RemoteHookPipeline<TEvent, TContext>

Run(Func<TCurrent, ValueTask>)

public RemoteHookPipeline<TEvent, TContext> Run(Func<TCurrent, ValueTask> handler)

Parameters

handler Func<TCurrent, ValueTask>

Returns

RemoteHookPipeline<TEvent, TContext>

Run(Func<TCurrent, TContext, ValueTask>)

public RemoteHookPipeline<TEvent, TContext> Run(Func<TCurrent, TContext, ValueTask> handler)

Parameters

handler Func<TCurrent, TContext, ValueTask>

Returns

RemoteHookPipeline<TEvent, TContext>

RunLocal(Action<TCurrent, TContext>)

public RemoteHookPipeline<TEvent, TContext> RunLocal(Action<TCurrent, TContext> handler)

Parameters

handler Action<TCurrent, TContext>

Returns

RemoteHookPipeline<TEvent, TContext>

RunLocal(Action<TCurrent>)

public RemoteHookPipeline<TEvent, TContext> RunLocal(Action<TCurrent> handler)

Parameters

handler Action<TCurrent>

Returns

RemoteHookPipeline<TEvent, TContext>

RunLocal(Func<TCurrent, ValueTask>)

public RemoteHookPipeline<TEvent, TContext> RunLocal(Func<TCurrent, ValueTask> handler)

Parameters

handler Func<TCurrent, ValueTask>

Returns

RemoteHookPipeline<TEvent, TContext>

RunLocal(Func<TCurrent, TContext, ValueTask>)

public RemoteHookPipeline<TEvent, TContext> RunLocal(Func<TCurrent, TContext, ValueTask> handler)

Parameters

handler Func<TCurrent, TContext, ValueTask>

Returns

RemoteHookPipeline<TEvent, TContext>

Select<TNext>(Func<TCurrent, TContext, TNext>)

public RemoteHookStage<TEvent, TNext, TContext> Select<TNext>(Func<TCurrent, TContext, TNext> projection)

Parameters

projection Func<TCurrent, TContext, TNext>

Returns

RemoteHookStage<TEvent, TNext, TContext>

Type Parameters

TNext

Select<TNext>(Func<TCurrent, TNext>)

public RemoteHookStage<TEvent, TNext, TContext> Select<TNext>(Func<TCurrent, TNext> projection)

Parameters

projection Func<TCurrent, TNext>

Returns

RemoteHookStage<TEvent, TNext, TContext>

Type Parameters

TNext

UseGeneratedChain(PluginPackage)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedChain(PluginPackage package)

Parameters

package PluginPackage

Returns

RemoteHookPipeline<TEvent, TContext>

UseGeneratedLocalChain(PluginPackage, Action<TCurrent, TContext>)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalChain(PluginPackage package, Action<TCurrent, TContext> handler)

Parameters

package PluginPackage
handler Action<TCurrent, TContext>

Returns

RemoteHookPipeline<TEvent, TContext>

UseGeneratedLocalChain(PluginPackage, Action<TCurrent, TContext>, Func<KernelRpcValue, TCurrent>)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalChain(PluginPackage package, Action<TCurrent, TContext> handler, Func<KernelRpcValue, TCurrent> decoder)

Parameters

package PluginPackage
handler Action<TCurrent, TContext>
decoder Func<KernelRpcValue, TCurrent>

Returns

RemoteHookPipeline<TEvent, TContext>

UseGeneratedLocalChain(PluginPackage, Action<TCurrent, TContext>, Func<ReadOnlyMemory<byte>, TCurrent>)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalChain(PluginPackage package, Action<TCurrent, TContext> handler, Func<ReadOnlyMemory<byte>, TCurrent> decoder)

Parameters

package PluginPackage
handler Action<TCurrent, TContext>
decoder Func<ReadOnlyMemory<byte>, TCurrent>

Returns

RemoteHookPipeline<TEvent, TContext>

UseGeneratedLocalChain(PluginPackage, Action<TCurrent>)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalChain(PluginPackage package, Action<TCurrent> handler)

Parameters

package PluginPackage
handler Action<TCurrent>

Returns

RemoteHookPipeline<TEvent, TContext>

UseGeneratedLocalChain(PluginPackage, Action<TCurrent>, Func<KernelRpcValue, TCurrent>)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalChain(PluginPackage package, Action<TCurrent> handler, Func<KernelRpcValue, TCurrent> decoder)

Parameters

package PluginPackage
handler Action<TCurrent>
decoder Func<KernelRpcValue, TCurrent>

Returns

RemoteHookPipeline<TEvent, TContext>

UseGeneratedLocalChain(PluginPackage, Action<TCurrent>, Func<ReadOnlyMemory<byte>, TCurrent>)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalChain(PluginPackage package, Action<TCurrent> handler, Func<ReadOnlyMemory<byte>, TCurrent> decoder)

Parameters

package PluginPackage
handler Action<TCurrent>
decoder Func<ReadOnlyMemory<byte>, TCurrent>

Returns

RemoteHookPipeline<TEvent, TContext>

UseGeneratedLocalChain(PluginPackage, Func<TCurrent, ValueTask>)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalChain(PluginPackage package, Func<TCurrent, ValueTask> handler)

Parameters

package PluginPackage
handler Func<TCurrent, ValueTask>

Returns

RemoteHookPipeline<TEvent, TContext>

UseGeneratedLocalChain(PluginPackage, Func<TCurrent, ValueTask>, Func<KernelRpcValue, TCurrent>)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalChain(PluginPackage package, Func<TCurrent, ValueTask> handler, Func<KernelRpcValue, TCurrent> decoder)

Parameters

package PluginPackage
handler Func<TCurrent, ValueTask>
decoder Func<KernelRpcValue, TCurrent>

Returns

RemoteHookPipeline<TEvent, TContext>

UseGeneratedLocalChain(PluginPackage, Func<TCurrent, ValueTask>, Func<ReadOnlyMemory<byte>, TCurrent>)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalChain(PluginPackage package, Func<TCurrent, ValueTask> handler, Func<ReadOnlyMemory<byte>, TCurrent> decoder)

Parameters

package PluginPackage
handler Func<TCurrent, ValueTask>
decoder Func<ReadOnlyMemory<byte>, TCurrent>

Returns

RemoteHookPipeline<TEvent, TContext>

UseGeneratedLocalChain(PluginPackage, Func<TCurrent, TContext, ValueTask>)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalChain(PluginPackage package, Func<TCurrent, TContext, ValueTask> handler)

Parameters

package PluginPackage
handler Func<TCurrent, TContext, ValueTask>

Returns

RemoteHookPipeline<TEvent, TContext>

UseGeneratedLocalChain(PluginPackage, Func<TCurrent, TContext, ValueTask>, Func<KernelRpcValue, TCurrent>)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalChain(PluginPackage package, Func<TCurrent, TContext, ValueTask> handler, Func<KernelRpcValue, TCurrent> decoder)

Parameters

package PluginPackage
handler Func<TCurrent, TContext, ValueTask>
decoder Func<KernelRpcValue, TCurrent>

Returns

RemoteHookPipeline<TEvent, TContext>

UseGeneratedLocalChain(PluginPackage, Func<TCurrent, TContext, ValueTask>, Func<ReadOnlyMemory<byte>, TCurrent>)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalChain(PluginPackage package, Func<TCurrent, TContext, ValueTask> handler, Func<ReadOnlyMemory<byte>, TCurrent> decoder)

Parameters

package PluginPackage
handler Func<TCurrent, TContext, ValueTask>
decoder Func<ReadOnlyMemory<byte>, TCurrent>

Returns

RemoteHookPipeline<TEvent, TContext>

UseGeneratedLocalResultChain<TResult>(PluginPackage, Func<TCurrent, CancellationToken, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalResultChain<TResult>(PluginPackage package, Func<TCurrent, CancellationToken, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

package PluginPackage
handler Func<TCurrent, CancellationToken, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent, TContext>

Type Parameters

TResult

UseGeneratedLocalResultChain<TResult>(PluginPackage, Func<TCurrent, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalResultChain<TResult>(PluginPackage package, Func<TCurrent, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

package PluginPackage
handler Func<TCurrent, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent, TContext>

Type Parameters

TResult

UseGeneratedLocalResultChain<TResult>(PluginPackage, Func<TCurrent, TContext, CancellationToken, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalResultChain<TResult>(PluginPackage package, Func<TCurrent, TContext, CancellationToken, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

package PluginPackage
handler Func<TCurrent, TContext, CancellationToken, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent, TContext>

Type Parameters

TResult

UseGeneratedLocalResultChain<TResult>(PluginPackage, Func<TCurrent, TContext, ValueTask<TResult>>, int)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalResultChain<TResult>(PluginPackage package, Func<TCurrent, TContext, ValueTask<TResult>> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

package PluginPackage
handler Func<TCurrent, TContext, ValueTask<TResult>>
priority int

Returns

RemoteHookPipeline<TEvent, TContext>

Type Parameters

TResult

UseGeneratedLocalResultChain<TResult>(PluginPackage, Func<TCurrent, TContext, TResult>, int)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalResultChain<TResult>(PluginPackage package, Func<TCurrent, TContext, TResult> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

package PluginPackage
handler Func<TCurrent, TContext, TResult>
priority int

Returns

RemoteHookPipeline<TEvent, TContext>

Type Parameters

TResult

UseGeneratedLocalResultChain<TResult>(PluginPackage, Func<TCurrent, TResult>, int)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedLocalResultChain<TResult>(PluginPackage package, Func<TCurrent, TResult> handler, int priority = 0) where TResult : struct, IHookResult

Parameters

package PluginPackage
handler Func<TCurrent, TResult>
priority int

Returns

RemoteHookPipeline<TEvent, TContext>

Type Parameters

TResult

UseGeneratedResultChain<TResult>(PluginPackage, int)

public RemoteHookPipeline<TEvent, TContext> UseGeneratedResultChain<TResult>(PluginPackage package, int priority = 0) where TResult : struct, IHookResult

Parameters

package PluginPackage
priority int

Returns

RemoteHookPipeline<TEvent, TContext>

Type Parameters

TResult

Where(Func<TCurrent, bool>)

public RemoteHookStage<TEvent, TCurrent, TContext> Where(Func<TCurrent, bool> filter)

Parameters

filter Func<TCurrent, bool>

Returns

RemoteHookStage<TEvent, TCurrent, TContext>

Where(Func<TCurrent, TContext, bool>)

public RemoteHookStage<TEvent, TCurrent, TContext> Where(Func<TCurrent, TContext, bool> filter)

Parameters

filter Func<TCurrent, TContext, bool>

Returns

RemoteHookStage<TEvent, TCurrent, TContext>