feat(alarms): wire NativeAlarmAckRouter to DriverHostActor in host DI [H6e]
This commit is contained in:
@@ -37,6 +37,27 @@ public sealed class OtOpcUaSdkServer : StandardServer
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Wire the reverse-path router for inbound Part 9 Acknowledge of a NATIVE (driver-fed, e.g. Galaxy)
|
||||
/// condition onto the created <see cref="OtOpcUaNodeManager"/>. The host calls this after start with a
|
||||
/// non-blocking router that Tells a <c>DriverHostActor.RouteNativeAlarmAck</c> into the local
|
||||
/// <c>DriverHostActor</c>, which (Primary-gated) routes the acknowledge to the owning driver child.
|
||||
/// Native conditions are not owned by the scripted-alarm engine, so the node manager branches their
|
||||
/// inbound Acknowledge to this seam instead of the scripted <see cref="SetAlarmCommandRouter"/> path.
|
||||
/// Passing <c>null</c> clears it. No-op (returns <c>false</c>) when the node manager has not been
|
||||
/// created yet, so the caller can detect a too-early call (mirrors <see cref="SetAlarmCommandRouter"/>).
|
||||
/// </summary>
|
||||
/// <param name="router">The router invoked by the native condition's Acknowledge handler once the
|
||||
/// <c>AlarmAck</c> gate passes; may be <c>null</c> to clear it.</param>
|
||||
/// <returns><c>true</c> when the router was set on a live node manager; <c>false</c> when no node
|
||||
/// manager exists yet.</returns>
|
||||
public bool SetNativeAlarmAckRouter(Action<NativeAlarmAck>? router)
|
||||
{
|
||||
if (_otOpcUaNodeManager is null) return false;
|
||||
_otOpcUaNodeManager.NativeAlarmAckRouter = router;
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Wire the reverse-path gateway for inbound operator writes to writable equipment-tag nodes onto the
|
||||
/// created <see cref="OtOpcUaNodeManager"/>. The host calls this after start with an
|
||||
|
||||
Reference in New Issue
Block a user