using RobotNet.VDA5050.Factsheet; using RobotNet.VDA5050.State; using RobotNet.VDA5050.Type; using RobotNet.VDA5050.Visualization; using RobotNet10.FleetManager.Events.Events; namespace RobotNet10.FleetManager.Events; /// /// In-memory event bus for VDA5050 robot messages and domain events /// public interface IRobotEventBus { // VDA5050 Events event EventHandler? StateMessageReceived; event EventHandler? ConnectionStateChanged; event EventHandler? VisualizationMessageReceived; event EventHandler? FactsheetMessageReceived; // Domain Events event EventHandler? RobotModelUpdated; event EventHandler? RobotModelIdChanged; // VDA5050 Event Publishers void PublishStateMessageReceived(string robotId, StateMsg stateMsg); void PublishConnectionStateChanged(string robotId, ConnectionState connectionState); void PublishVisualizationMessageReceived(string robotId, VisualizationMsg visualizationMsg); void PublishFactsheetMessageReceived(string robotId, FactSheetMsg factsheetMsg); // Domain Event Publishers void PublishRobotModelUpdated(RobotModelUpdatedEvent e); void PublishRobotModelIdChanged(RobotModelIdChangedEvent e); }