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