Files
I150/srcs/RobotNet10/FleetManager/RobotNet10.FleetManager/Events/IRobotEventBus.cs
2026-07-03 16:37:12 +07:00

34 lines
1.4 KiB
C#

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;
/// <summary>
/// In-memory event bus for VDA5050 robot messages and domain events
/// </summary>
public interface IRobotEventBus
{
// VDA5050 Events
event EventHandler<StateMessageReceivedEvent>? StateMessageReceived;
event EventHandler<ConnectionStateChangedEvent>? ConnectionStateChanged;
event EventHandler<VisualizationMessageReceivedEvent>? VisualizationMessageReceived;
event EventHandler<FactsheetMessageReceivedEvent>? FactsheetMessageReceived;
// Domain Events
event EventHandler<RobotModelUpdatedEvent>? RobotModelUpdated;
event EventHandler<RobotModelIdChangedEvent>? 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);
}