Files
Denso/srcs/RobotNet10/RobotApp/RobotNet10.RobotApp/Detection/IMarkerDetector.cs
2026-07-03 16:31:37 +07:00

37 lines
1.2 KiB
C#

using RobotNet10.Shared.Detection;
namespace RobotNet10.RobotApp.Detection;
/// <summary>
/// Main service interface for marker and landmark detection
/// Manages detection sessions and device transforms
/// </summary>
public interface IMarkerDetector : IDisposable
{
/// <summary>
/// Create a new detection session
/// </summary>
/// <param name="config">Session configuration with search area and marker list</param>
/// <returns>Created detection session instance</returns>
/// <exception cref="ArgumentException">
/// Thrown if:
/// - Marker IDs don't exist in database
/// - Device IDs don't exist in device provider
/// - Invalid configuration parameters
/// </exception>
Task<IDetectSession> CreateSessionAsync(MarkersSearchRequest request);
/// <summary>
/// Get all active sessions
/// </summary>
/// <returns>Read-only list of active sessions</returns>
IReadOnlyList<IDetectSession> GetActiveSessions();
/// <summary>
/// Get session by ID
/// </summary>
/// <param name="sessionId">Session ID to find</param>
/// <returns>Session if found, null otherwise</returns>
IDetectSession? GetSession(Guid sessionId);
}