Table of Contents

Class FlowGraphRuntimeExtensions

Namespace
Ceres.Flow
Assembly
Ceres.Flow.dll
public static class FlowGraphRuntimeExtensions
Inheritance
FlowGraphRuntimeExtensions
Inherited Members

Methods

GetEventHandler(IFlowGraphRuntime)

Get the CallbackEventHandler bound to runtime FlowGraph instance

public static CallbackEventHandler GetEventHandler(this IFlowGraphRuntime runtime)

Parameters

runtime IFlowGraphRuntime

Returns

CallbackEventHandler

GetRuntimeFlowGraph(IFlowGraphRuntime)

Get runtime FlowGraph instance

public static FlowGraph GetRuntimeFlowGraph(this IFlowGraphRuntime runtime)

Parameters

runtime IFlowGraphRuntime

Returns

FlowGraph

Remarks

Convenient for inheritors to implicitly obtain the runtime graph instance when Graph is explicitly implemented.

OverrideEventImplementation<TEventType>(IFlowGraphRuntime, EventCallback<TEventType>)

Override graph implementation of EventBase<T>>

[StackTraceFrame]
public static IDisposable OverrideEventImplementation<TEventType>(this IFlowGraphRuntime runtime, EventCallback<TEventType> implementation) where TEventType : EventBase<TEventType>, new()

Parameters

runtime IFlowGraphRuntime
implementation EventCallback<TEventType>

Returns

IDisposable

Type Parameters

TEventType

ProcessEvent(IFlowGraphRuntime, string)

Invoke flow graph event

public static void ProcessEvent(this IFlowGraphRuntime runtime, string eventName = "")

Parameters

runtime IFlowGraphRuntime
eventName string

ProcessEventUber(IFlowGraphRuntime, object[], string)

Invoke flow graph event with any parameters

public static void ProcessEventUber(this IFlowGraphRuntime runtime, object[] parameters, string eventName = "")

Parameters

runtime IFlowGraphRuntime
parameters object[]
eventName string

Remarks

Note that this method causes boxing and unboxing, which results in allocation. Consider using an overload method with fewer parameters.

ProcessEvent<T1>(IFlowGraphRuntime, T1, string)

Invoke flow graph event with parameters

public static void ProcessEvent<T1>(this IFlowGraphRuntime runtime, T1 arg1, string eventName = "")

Parameters

runtime IFlowGraphRuntime
arg1 T1
eventName string

Type Parameters

T1

ProcessEvent<T1, T2>(IFlowGraphRuntime, T1, T2, string)

Invoke flow graph event with parameters

public static void ProcessEvent<T1, T2>(this IFlowGraphRuntime runtime, T1 arg1, T2 arg2, string eventName = "")

Parameters

runtime IFlowGraphRuntime
arg1 T1
arg2 T2
eventName string

Type Parameters

T1
T2

ProcessEvent<T1, T2, T3>(IFlowGraphRuntime, T1, T2, T3, string)

Invoke flow graph event with parameters

public static void ProcessEvent<T1, T2, T3>(this IFlowGraphRuntime runtime, T1 arg1, T2 arg2, T3 arg3, string eventName = "")

Parameters

runtime IFlowGraphRuntime
arg1 T1
arg2 T2
arg3 T3
eventName string

Type Parameters

T1
T2
T3

ProcessEvent<T1, T2, T3, T4>(IFlowGraphRuntime, T1, T2, T3, T4, string)

Invoke flow graph event with parameters

public static void ProcessEvent<T1, T2, T3, T4>(this IFlowGraphRuntime runtime, T1 arg1, T2 arg2, T3 arg3, T4 arg4, string eventName = "")

Parameters

runtime IFlowGraphRuntime
arg1 T1
arg2 T2
arg3 T3
arg4 T4
eventName string

Type Parameters

T1
T2
T3
T4

ProcessEvent<T1, T2, T3, T4, T5>(IFlowGraphRuntime, T1, T2, T3, T4, T5, string)

Invoke flow graph event with parameters

public static void ProcessEvent<T1, T2, T3, T4, T5>(this IFlowGraphRuntime runtime, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, string eventName = "")

Parameters

runtime IFlowGraphRuntime
arg1 T1
arg2 T2
arg3 T3
arg4 T4
arg5 T5
eventName string

Type Parameters

T1
T2
T3
T4
T5

ProcessEvent<T1, T2, T3, T4, T5, T6>(IFlowGraphRuntime, T1, T2, T3, T4, T5, T6, string)

Invoke flow graph event with parameters

public static void ProcessEvent<T1, T2, T3, T4, T5, T6>(this IFlowGraphRuntime runtime, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, string eventName = "")

Parameters

runtime IFlowGraphRuntime
arg1 T1
arg2 T2
arg3 T3
arg4 T4
arg5 T5
arg6 T6
eventName string

Type Parameters

T1
T2
T3
T4
T5
T6

SendEvent(IFlowGraphRuntime, EventBase)

Send event to runtime FlowGraph instance

public static void SendEvent(this IFlowGraphRuntime runtime, EventBase @event)

Parameters

runtime IFlowGraphRuntime
event EventBase

SubscribeExecution<TEventType>(CallbackEventHandler, IFlowGraphRuntime)

Subscribe an execution of EventBase<T>> as callback

[StackTraceFrame]
public static IDisposable SubscribeExecution<TEventType>(this CallbackEventHandler eventHandler, IFlowGraphRuntime runtime) where TEventType : EventBase<TEventType>, new()

Parameters

eventHandler CallbackEventHandler
runtime IFlowGraphRuntime

Returns

IDisposable

Type Parameters

TEventType