using MultiTerm.Core.Types; using MultiTerm.Protocols; using MultiTerm.Protocols.Types; namespace MultiTerm.Core.ViewModel; public interface ITerminalViewModel { /// /// Title of the Terminal View. /// string Title { get; } /// /// Type of view. /// TerminalViewType ViewType { get; } /// /// Type of Protocol. /// ProtocolType ProtocolType { get; set; } /// /// Communication Protocol instance. /// ICommunicationProtocol? CommunicationProtocol { get; set; } /// /// Settings ViewModel that displays protocol specific settings to user. /// IProtocolSettingsViewModel? ProtocolSettings { get; set; } /// /// Request Closing of Terminal. /// void CloseRequest(); /// /// Force close the Terminal and disconnect communication protocol. /// Does not raise . /// void ForceClose(); /// /// Closing of Terminal was initiated. /// event EventHandler ClosingEvent; }