Initial commit

This commit is contained in:
2026-07-13 09:25:40 +07:00
parent c08ff54676
commit bccfb156d7
1938 changed files with 641646 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
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);
}