34 lines
1.4 KiB
C#
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);
|
|
}
|