Initial commit
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
using RobotNet10.NavigationTune.Shared.Models;
|
||||
|
||||
namespace RobotNet10.NavigationTune.Shared.Interfaces;
|
||||
|
||||
/// <summary>
|
||||
/// Test executor interface
|
||||
/// </summary>
|
||||
public interface ITestExecutor
|
||||
{
|
||||
/// <summary>
|
||||
/// Execute a test scenario.
|
||||
/// The navigation algorithm runs on a WatchThread (50Hz); onTelemetryUpdate is invoked from that thread.
|
||||
/// When onComplete is provided, the method returns immediately with Status=Running and invokes onComplete when done.
|
||||
/// </summary>
|
||||
Task<TestExecutionResult> ExecuteAsync(
|
||||
TestScenario scenario,
|
||||
NavigationParameterSet parameters,
|
||||
Action<TelemetryData>? onTelemetryUpdate = null,
|
||||
CancellationToken cancellationToken = default,
|
||||
Action<TestExecutionResult>? onComplete = null
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Pause test execution
|
||||
/// </summary>
|
||||
void Pause();
|
||||
|
||||
/// <summary>
|
||||
/// Resume test execution
|
||||
/// </summary>
|
||||
void Resume();
|
||||
|
||||
/// <summary>
|
||||
/// Stop test execution
|
||||
/// </summary>
|
||||
void Stop();
|
||||
|
||||
/// <summary>
|
||||
/// Emergency stop
|
||||
/// </summary>
|
||||
void EmergencyStop();
|
||||
|
||||
/// <summary>
|
||||
/// Get current execution state
|
||||
/// </summary>
|
||||
TestStatus GetStatus();
|
||||
|
||||
/// <summary>
|
||||
/// Get progress information
|
||||
/// </summary>
|
||||
TestProgress GetProgress();
|
||||
}
|
||||
Reference in New Issue
Block a user