using RobotNet.VDA5050.InstantAction; using RobotNet.VDA5050.Order; using RobotNet10.RobotApp.Events; using RobotNet10.RobotApp.Events.Events; namespace RobotNet10.FleetManager.Events; /// /// In-memory event bus implementation for VDA5050 robot messages /// public class RobotEventBus : IRobotEventBus { public event EventHandler? OrderMessageReceived; public event EventHandler? InstantActionReceived; public void PublishInstantActionMessageReceived(InstantActionsMsg instantActionMsg) { InstantActionReceived?.Invoke(this, new InstantActionChangedEvent {InstantActionMessage = instantActionMsg }); } public void PublishOrderMessageReceived(OrderMsg orderMsg) { OrderMessageReceived?.Invoke(this, new OrderChangedEvent {OrderMessage = orderMsg }); } }