namespace PepperDash.Core.Abstractions; /// /// Abstracts Crestron.SimplSharp.CrestronConsole to allow unit testing /// without the Crestron SDK. /// public interface ICrestronConsole { /// Prints a line to the Crestron console/telnet output. void PrintLine(string message); /// Prints text (without newline) to the Crestron console/telnet output. void Print(string message); /// /// Sends a response string to the console for the currently-executing console command. /// void ConsoleCommandResponse(string message); /// /// Registers a new command with the Crestron console. /// /// Handler invoked when the command is typed. /// Command name (no spaces). /// Help text shown by the Crestron console. /// Minimum access level required to run the command. void AddNewConsoleCommand( Action callback, string command, string helpText, ConsoleAccessLevel accessLevel); }