Difference between revisions of "Unit RemoteShell"

From Ultibo.org
Jump to: navigation, search
Line 119: Line 119:
 
|-
 
|-
 
| <code>FListener:TTelnetListener;</code>
 
| <code>FListener:TTelnetListener;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>procedure Reset(ASession:TTelnetSession);</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>procedure MoveFirst(ASession:TTelnetSession);</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure MoveLast(ASession:TTelnetSession);</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure MoveLeft(ASession:TTelnetSession);</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure MoveRight(ASession:TTelnetSession);</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>procedure EraseLine(ASession:TTelnetSession);</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure OutputLine(ASession:TTelnetSession; const AValue:String);</code>
 +
| &nbsp;
 +
|-
 +
| <code>function ExpandLine(ASession:TTelnetSession):Boolean;</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>procedure EraseCharacter(ASession:TTelnetSession);</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure DeleteCharacter(ASession:TTelnetSession);</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure InsertCharacter(ASession:TTelnetSession; ACh:Char);</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure OverwriteCharacter(ASession:TTelnetSession; ACh:Char);</code>
 +
| &nbsp;
 +
|-
 +
|colspan="2"|&nbsp;
 +
|-
 +
| <code>procedure PrevHistory(ASession:TTelnetSession);</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure NextHistory(ASession:TTelnetSession);</code>
 +
| &nbsp;
 +
|-
 +
| <code>procedure CurrentHistory(ASession:TTelnetSession);</code>
 
| &nbsp;
 
| &nbsp;
 
|-
 
|-
Line 168: Line 223:
 
|}
 
|}
 
</div></div>
 
</div></div>
 
 
'''Telnet session'''
 
'''Telnet session'''
  

Revision as of 05:12, 27 March 2018

Return to Unit Reference


Description


Ultibo Remote Shell unit

To be documented

Constants



Remote shell REMOTE_SHELL_*
REMOTE_SHELL_DEFAULT_WELCOME = ' (Type HELP for a list of available commands)';  


Telnet shell TELNET_SHELL_*
TELNET_SHELL_NAME = 'Telnet Shell';  


Telnet shell command TELNET_SHELL_COMMAND_*
TELNET_SHELL_COMMAND_LOGOUT = 'LOGOUT';  


Telnet shell alias TELNET_SHELL_ALIAS_*
TELNET_SHELL_ALIAS_EXIT = 'EXIT';  


SSH shell SSH_SHELL_*
SSH_SHELL_NAME = 'SSH Shell';  


SSH shell command SSH_SHELL_COMMAND_*
SSH_SHELL_COMMAND_LOGOUT = 'LOGOUT';  


SSH shell alias SSH_SHELL_ALIAS_*
SSH_SHELL_ALIAS_EXIT = 'EXIT';  


Type definitions


None defined

Class definitions



Telnet shell

TTelnetShell = class(TShell)

public
constructor Create;  
destructor Destroy; override;  
private
FListener:TTelnetListener;  
 
procedure Reset(ASession:TTelnetSession);  
 
procedure MoveFirst(ASession:TTelnetSession);  
procedure MoveLast(ASession:TTelnetSession);  
procedure MoveLeft(ASession:TTelnetSession);  
procedure MoveRight(ASession:TTelnetSession);  
 
procedure EraseLine(ASession:TTelnetSession);  
procedure OutputLine(ASession:TTelnetSession; const AValue:String);  
function ExpandLine(ASession:TTelnetSession):Boolean;  
 
procedure EraseCharacter(ASession:TTelnetSession);  
procedure DeleteCharacter(ASession:TTelnetSession);  
procedure InsertCharacter(ASession:TTelnetSession; ACh:Char);  
procedure OverwriteCharacter(ASession:TTelnetSession; ACh:Char);  
 
procedure PrevHistory(ASession:TTelnetSession);  
procedure NextHistory(ASession:TTelnetSession);  
procedure CurrentHistory(ASession:TTelnetSession);  
protected
procedure TelnetConnected(AConnection:TTelnetConnection);  
procedure TelnetDisconnected(AConnection:TTelnetConnection);  
function TelnetInit(AConnection:TTelnetConnection):Boolean;  
function TelnetChar(AConnection:TTelnetConnection; AChar:Char):Boolean;  
function TelnetCommand(AConnection:TTelnetConnection; ACommand,AOption:Byte; AData:Pointer; ASize:LongWord):Boolean;  
public
property Listener:TTelnetListener read FListener;  
 
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 MatchSequence(const ASequence:String; var AContinue:Boolean):Boolean;  
function ProcessSequence(const ASequence:String):Boolean;  

Telnet session

TTelnetSession = class(TShellSession)

public
Command:String;  
Sequence:String;  
Position:LongWord;  
private
 
public
 

SSH shell

TSSHShell = class(TShell)

public
constructor Create;  
destructor Destroy; override;  
private
 
public
 

Telnet shell logout

TTelnetShellLogout = class(TShellCommand)

public
constructor Create;  
destructor Destroy; override;  
private
 
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;  

SSH shell logout

TSSHShellLogout = class(TShellCommand)

public
constructor Create;  
destructor Destroy; override;  
private
 
public
 


Public variables


None defined

Function declarations



Initialization functions

procedure RemoteShellInit;
Description: To be documented
Note None documented


Return to Unit Reference