Interface IErasedPluginEventAdapter
A type-erased, wire-capable view of a registered IPluginEventAdapter<TEvent>. The closure is captured once at registration time (when the event type is statically known), so the host-side router (WireHook(InstalledKernel, WireOptions?) / WireSubscription(InstalledKernel, WireOptions?)) can wire an installed kernel to the correct typed pipeline terminal by event name — with no reflection at wire time.
Public as a composability seam: resolve one via TryResolveErased(string, out IErasedPluginEventAdapter)
and wire a kernel your own way when the WireHook(InstalledKernel, WireOptions?) /
WireSubscription(InstalledKernel, WireOptions?) defaults don't fit — without dropping all the way back to a
hand-written event-name → typed-On<TEvent>() dispatch.
public interface IErasedPluginEventAdapter
Properties
EventName
The adapter's event name (the [Hook] name or the type name), used for by-name resolution.
string EventName { get; }
Property Value
EventType
The CLR event type this adapter handles.
Type EventType { get; }
Property Value
HookResultType
The result type declared by the event's [Hook] attribute, or null when it declares none.
Type? HookResultType { get; }
Property Value
Methods
WireHook(HookRegistry, InstalledKernel, KernelWireTerminal, WireCallbacks)
Wires kernel into the hook pipeline for this event using the classified terminal.
void WireHook(HookRegistry hooks, InstalledKernel kernel, KernelWireTerminal terminal, WireCallbacks callbacks)
Parameters
hooksHookRegistrykernelInstalledKernelterminalKernelWireTerminalcallbacksWireCallbacks
WireSubscription(SubscriptionRegistry, InstalledKernel, KernelWireTerminal, WireCallbacks, EventIndexRegistry?)
Wires kernel into the subscription pipeline for this event. A plain terminal is routed
through indexRegistry first when one is supplied and the subscription carries index
metadata; otherwise it falls back to the broad pipeline. A projecting terminal pushes to the plugin's
native delegate; result terminals are rejected (subscriptions have no result channel).
void WireSubscription(SubscriptionRegistry subscriptions, InstalledKernel kernel, KernelWireTerminal terminal, WireCallbacks callbacks, EventIndexRegistry? indexRegistry)
Parameters
subscriptionsSubscriptionRegistrykernelInstalledKernelterminalKernelWireTerminalcallbacksWireCallbacksindexRegistryEventIndexRegistry