Class PluginEventAdapterRegistry
Namespace: DotBoxD.Plugins.Runtime
Assembly: DotBoxD.Plugins.dll
public sealed class PluginEventAdapterRegistryInheritance
Section titled “Inheritance”object ← PluginEventAdapterRegistry
Inherited Members
Section titled “Inherited Members”object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object?, object?), object.ToString()
Methods
Section titled “Methods”Register<TEvent>(IPluginEventAdapter<TEvent>)
Section titled “ Register<TEvent>(IPluginEventAdapter<TEvent>)”public void Register<TEvent>(IPluginEventAdapter<TEvent> adapter)Parameters
Section titled “Parameters”adapter IPluginEventAdapter<TEvent>
Type Parameters
Section titled “Type Parameters”TEvent
Resolve<TEvent>()
Section titled “ Resolve<TEvent>()”public IPluginEventAdapter<TEvent> Resolve<TEvent>()Returns
Section titled “Returns”IPluginEventAdapter<TEvent>
Type Parameters
Section titled “Type Parameters”TEvent
TryResolveErased(string, out IErasedPluginEventAdapter)
Section titled “ TryResolveErased(string, out IErasedPluginEventAdapter)”Resolves the type-erased, wire-capable adapter for eventName (a manifest event name,
possibly fully qualified) so the host-side router can wire an installed kernel to the right typed
pipeline terminal with no reflection. Shares precedence with DotBoxD.Plugins.Runtime.PluginEventAdapterRegistry.TryResolveShape(System.String,DotBoxD.Plugins.Runtime.Input.PluginEventShape@), so an
unambiguous resolution picks the same adapter a package was validated against; unlike validation, wiring
rejects an ambiguous collision (returns false) rather than guess which event to wire to.
Public as a composability seam — build custom by-name wiring on top of it when
DotBoxD.Plugins.PluginServer.WireHook(DotBoxD.Plugins.Kernel.InstalledKernel,DotBoxD.Plugins.WireOptions)/DotBoxD.Plugins.PluginServer.WireSubscription(DotBoxD.Plugins.Kernel.InstalledKernel,DotBoxD.Plugins.WireOptions) don’t fit; the adapter must
be registered first (the router does not auto-register by name).
public bool TryResolveErased(string eventName, out IErasedPluginEventAdapter adapter)Parameters
Section titled “Parameters”eventName string
adapter IErasedPluginEventAdapter