using RobotNet10.FleetManager.Script; using RobotNet10.FleetManager.Services.RobotController; using RobotNet10.FleetManager.Services.RobotManager.Models; namespace RobotNet10.FleetManager.Services.RobotManager; /// /// Service for managing RobotController instances and routing events /// public interface IRobotManagerService { /// /// Get RobotController instance for a robot /// IRobotController? GetRobotController(string robotId); /// /// Get all RobotController instances /// IReadOnlyDictionary GetAllRobotControllers(); /// /// Remove RobotController instance (when robot is deleted from DB) /// void RemoveRobotController(string robotId); /// /// Get RobotData for a robot (backward compatibility) /// RobotData? GetRobotData(string robotId); /// /// Get all RobotData (backward compatibility) /// IReadOnlyDictionary GetAllRobotData(); /// /// Get list of available (online) robots /// IReadOnlyList GetAvailableRobots(); /// /// Get list of available robots with condititions /// Task> GetAvailableRobots(string layout, string version, string level, string model, Func func); }