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 });
}
}