using RoslynBridge.WebApi.Models; namespace RoslynBridge.WebApi.Services; /// /// Service for managing registered Visual Studio instances /// public interface IInstanceRegistryService { /// /// Register a new Visual Studio instance /// void Register(VSInstanceInfo instance); /// /// Unregister a Visual Studio instance by process ID /// bool Unregister(int processId); /// /// Update heartbeat for an instance /// bool UpdateHeartbeat(int processId); /// /// Get all registered instances /// IEnumerable GetAllInstances(); /// /// Get instance by process ID /// VSInstanceInfo? GetByProcessId(int processId); /// /// Get instance by solution path /// VSInstanceInfo? GetBySolutionPath(string solutionPath); /// /// Get instance by port /// VSInstanceInfo? GetByPort(int port); /// /// Remove stale instances (no heartbeat for specified timeout) /// void RemoveStaleInstances(TimeSpan timeout); }