using RobotNet10.NavigationTune.Shared.Models; namespace RobotNet10.NavigationTune.Shared.Interfaces; /// /// Parameter management interface /// public interface IParameterManager { /// /// Get parameter set by name /// Task GetByNameAsync(string name); /// /// Get parameter set by ID /// Task GetByIdAsync(Guid id); /// /// Get all parameter sets /// Task> GetAllAsync(); /// /// Save parameter set /// Task SaveAsync(NavigationParameterSet parameterSet); /// /// Update parameter set /// Task UpdateAsync(NavigationParameterSet parameterSet); /// /// Delete parameter set /// Task DeleteAsync(Guid id); /// /// Validate parameter set /// ValidationResult Validate(NavigationParameterSet parameterSet); /// /// Get default preset /// NavigationParameterSet GetDefaultPreset(); /// /// Get aggressive preset /// NavigationParameterSet GetAggressivePreset(); /// /// Get smooth preset /// NavigationParameterSet GetSmoothPreset(); } /// /// Validation result /// public class ValidationResult { public bool IsValid { get; set; } public List Errors { get; set; } = new(); public List Warnings { get; set; } = new(); public void AddError(string error) { IsValid = false; Errors.Add(error); } public void AddWarning(string warning) { Warnings.Add(warning); } }