Unit ConsoleShell

From Ultibo.org
Revision as of 04:24, 9 March 2017 by Ultibo (Talk | contribs)

Jump to: navigation, search

Return to Unit Reference


Description


Ultibo Console Shell unit

To be documented

Constants



Console shell specific constants CONSOLE_SHELL_*
CONSOLE_SHELL_DEFAULT_WELCOME = ' (Type HELP for a list of available commands)';  
 
CONSOLE_SHELL_THREAD_NAME = 'Console Shell Keyboard'; Thread name for Console shell keyboard threads


Console shell constants CONSOLE_SHELL_NAME*
CONSOLE_SHELL_NAME = 'Console Shell';  


Console shell command constants CONSOLE_SHELL_COMMAND_*
CONSOLE_SHELL_COMMAND_EXIT = 'EXIT';  


Type definitions


None defined

Class definitions



Console shell

TConsoleShell = class(TShell)

public
constructor Create(AConsole:PConsoleDevice);  
destructor Destroy; override;  
private
FConsole:PConsoleDevice;  
FThread:TConsoleShellThread;  
FDefaultSession:TShellSession;  
 
protected
function CreateWindow:TShellSession;  
function DestroyWindow(ASession:TShellSession):Boolean;  
public
property Console:PConsoleDevice read FConsole;  
property DefaultSession:TShellSession read FDefaultSession;  
 
function DoClear(ASession:TShellSession):Boolean; override;  
 
function DoInput(ASession:TShellSession; var AInput:String):Boolean; override;  
 
function DoOutputEx(ASession:TShellSession; const AOutput:String; AReturn:Boolean):Boolean; override;  
 
function DoGetSize(ASession:TShellSession; var ARows,ACols:LongWord):Boolean; override;  
function DoSetSize(ASession:TShellSession; ARows,ACols:LongWord):Boolean; override;  
 
function DoGetCursor(ASession:TShellSession; var ARow,ACol:LongWord):Boolean; override;  
function DoSetCursor(ASession:TShellSession; ARow,ACol:LongWord):Boolean; override;  
 
function DoGetColors(ASession:TShellSession; var AForecolor,ABackcolor:LongWord):Boolean; override;  
function DoSetColors(ASession:TShellSession; AForecolor,ABackcolor:LongWord):Boolean; override;  
 
function DoGetCoordinates(ASession:TShellSession; var ARow,ACol:LongWord):Boolean; override;  
function DoSetCoordinates(ASession:TShellSession; ARow,ACol:LongWord):Boolean; override;  
 
function ConsoleChar(ASession:TShellSession; AChar:Char):Boolean;  

Console session

TConsoleSession = class(TShellSession)

public
constructor Create(AShell:TShell; AIdentifier:LongWord);  
public
Command:String;  
Position:LongWord;  
Window:TWindowHandle;  

Console shell thread

TConsoleShellThread = class(TThread)

public
constructor Create(AShell:TConsoleShell);  
protected
FShell:TConsoleShell;  
 
procedure Execute; override;  

Console shell exit

TConsoleShellExit = class(TShellCommand)

public
constructor Create;  
public
function DoHelp(AShell:TShell; ASession:TShellSession):Boolean; override;  
function DoInfo(AShell:TShell; ASession:TShellSession):Boolean; override;  
function DoCommand(AShell:TShell; ASession:TShellSession; AParameters:TStrings):Boolean; override;  


Public variables


None defined

Function declarations



Initialization functions

procedure ConsoleShellInit;
Description: To be documented
Note None documented


Console shell functions

function ConsoleShellFindByDevice(Console:PConsoleDevice):TConsoleShell;
Description: To be documented
Note None documented


Console shell helper functions

function ConsoleShellDeviceAdd(Console:PConsoleDevice; Force:Boolean):LongWord;
Description: To be documented
Note None documented


function ConsoleShellDeviceRemove(Console:PConsoleDevice):LongWord;
Description: To be documented
Note None documented


function ConsoleShellDeviceEnum(Console:PConsoleDevice; Data:Pointer):LongWord;
Description: To be documented
Note None documented


function ConsoleShellDeviceNotify(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;
Description: To be documented
Note None documented


Return to Unit Reference