Initial commit
This commit is contained in:
@@ -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);
|
||||
}
|
||||
Reference in New Issue
Block a user