using RobotNet.VDA5050.InstantAction; using RobotNet.VDA5050.Order; namespace RobotNet10.FleetManager.Services.RobotConnections; /// /// Service interface for managing MQTT connections to robots via VDA5050 protocol /// public interface IRobotConnectionsService { /// /// Start MQTT connection and subscribe to topics /// Task StartAsync(CancellationToken? cancellationToken); /// /// Stop MQTT connection /// Task StopAsync(); /// /// Check if MQTT client is connected /// bool IsConnected { get; } /// /// Publish order message to a robot /// Task PublishOrderAsync(string robotId, OrderMsg order, CancellationToken cancellationToken = default); /// /// Publish instant actions message to a robot /// Task PublishInstantActionsAsync(string robotId, InstantActionsMsg instantActions, CancellationToken cancellationToken = default); }