PTLib
Version 2.10.11
|
Command Line Interpreter over Telnet sockets. More...
#include <cli.h>
Public Member Functions | |
Construction | |
PCLITelnet (WORD port=0, const char *prompt=NULL, bool singleThreadForAll=false) | |
![]() | |
PCLISocket (WORD port=0, const char *prompt=NULL, bool singleThreadForAll=false) | |
~PCLISocket () | |
virtual bool | Start (bool runInBackground=true) |
Start a command line interpreter. More... | |
virtual void | Stop () |
Stop and clean up command line interpreters. More... | |
virtual Context * | AddContext (Context *context=NULL) |
Add a command line interpreter context to the system. More... | |
virtual void | RemoveContext (Context *context) |
Remove the command line interpreter context. More... | |
bool | Listen (WORD port=0) |
Start listening socket. More... | |
WORD | GetPort () const |
Get the port we are listing on. More... | |
![]() | |
virtual Context * | StartForeground () |
Initialise a foreground context and return it. More... | |
virtual bool | RunContext (Context *context) |
Run a context. More... | |
PCLI (const char *prompt=NULL) | |
Contracut a new command line interpreter. More... | |
virtual | ~PCLI () |
Destroy the command line interpreter. More... | |
bool | StartContext (PChannel *channel, bool autoDelete=true, bool runInBackground=true) |
Open a command line interpreter context. More... | |
bool | StartContext (PChannel *readChannel, PChannel *writeChannel, bool autoDeleteRead=true, bool autoDeleteWrite=true, bool runInBackground=true) |
virtual Context * | CreateContext () |
Create a new context. More... | |
virtual Context * | AddContext (Context *context=NULL) |
Add a command line interpreter context to the system. More... | |
virtual void | RemoveContext (Context *context) |
Remove the command line interpreter context. More... | |
virtual void | GarbageCollection () |
Remove any closed command line interpreter contexts. More... | |
virtual void | OnReceivedLine (Arguments &line) |
Received a completed command line. More... | |
virtual bool | OnLogIn (const PString &username, const PString &password) |
Received a login name/pasword to be verified. More... | |
void | Broadcast (const PString &message) const |
Set a string to all command line interpreter contexts. More... | |
bool | SetCommand (const char *command, const PNotifier ¬ifier, const char *help=NULL, const char *usage=NULL) |
Register a new command to be interpreted. More... | |
void | ShowHelp (Context &context) |
Show help for registered commands to the context. More... | |
const PString & | GetNewLine () const |
Get new line string output at the end of every line. More... | |
void | SetNewLine (const PString &newLine) |
Set new line string output at the end of every line. More... | |
bool | GetRequireEcho () const |
Get flag for echo is required for entered characters. More... | |
void | SetRequireEcho (bool requireEcho) |
Set flag for echo is required for entered characters. More... | |
const PString & | GetEditCharacters () const |
Get characters used for editing (backspace/delete) command lines. More... | |
void | SetEditCharacters (const PString &editCharacters) |
Set characters used for editing (backspace/delete) command lines. More... | |
const PString & | GetPrompt () const |
Get prompt used for command line interpreter. More... | |
void | SetPrompt (const PString &prompt) |
Set prompt used for command line interpreter. More... | |
const PString & | GetUsernamePrompt () const |
Get prompt used for login (if enabled). More... | |
void | SetUsernamePrompt (const PString &prompt) |
Set prompt used for login (if enabled). More... | |
const PString & | GetPasswordPrompt () const |
Get prompt used for password (if enabled). More... | |
void | SetPasswordPrompt (const PString &prompt) |
Set prompt used for password (if enabled). More... | |
const PString & | GetUsername () const |
Get username for log in validation. More... | |
void | SetUsername (const PString &username) |
Set username for log in validation. More... | |
const PString & | GetPassword () const |
Get password for log in validation. More... | |
void | SetPassword (const PString &password) |
Set password for log in validation. More... | |
const PCaselessString & | GetExitCommand () const |
Get command to be used to exit session. More... | |
void | SetExitCommand (const PCaselessString &exitCommand) |
Set command to be used to exit session. More... | |
const PCaselessString & | GetHelpCommand () const |
Get command to be used to display help. More... | |
void | SetHelpCommand (const PCaselessString &helpCommand) |
Set command to be used to display help. More... | |
const PString & | GetHelpOnHelp () const |
Get help on help. More... | |
void | SetHelpOnHelp (const PCaselessString &helpOnHelp) |
Set help on help. More... | |
const PCaselessString & | GetRepeatCommand () const |
Get the command to be used to repeat the last executed command. More... | |
void | SetRepeatCommand (const PCaselessString &repeatCommand) |
Set the command to be used to repeat the last executed command. More... | |
const PCaselessString & | GetHistoryCommand () const |
Get command that will list/execute command history. More... | |
void | SetHistoryCommand (const PCaselessString &historyCommand) |
Set command that will list/execute command history. More... | |
const PString & | GetNoHistoryError () const |
Get error message for if there is no history. More... | |
void | SetNoHistoryError (const PString &noHistoryError) |
Set error message for if there is no history. More... | |
const PString & | GetCommandUsagePrefix () const |
Get usage prefix for if Arguments::WriteUsage() called. More... | |
void | SetCommandUsagePrefix (const PString &commandUsagePrefix) |
Set usage prefix for if Arguments::WriteUsage() called. More... | |
const PString & | GetCommandErrorPrefix () const |
Get error prefix for if Arguments::WriteError() called. More... | |
void | SetCommandErrorPrefix (const PString &commandErrorPrefix) |
Set error prefix for if Arguments::WriteError() called. More... | |
const PString & | GetUnknownCommandError () const |
Get error message for if unknown command is entered. More... | |
void | SetUnknownCommandError (const PString &unknownCommandError) |
Set error message for if unknown command is entered. More... | |
![]() | |
virtual | ~PObject () |
virtual PObject * | Clone () const |
Create a copy of the class on the heap. More... | |
virtual PINDEX | HashFunction () const |
This function yields a hash value required by the PDictionary class. More... | |
virtual Comparison | Compare (const PObject &obj) const |
Compare the two objects and return their relative rank. More... | |
virtual Comparison | CompareObjectMemoryDirect (const PObject &obj) const |
Determine the byte wise comparison of two objects. More... | |
bool | operator== (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator!= (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator< (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator> (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator<= (const PObject &obj) const |
Compare the two objects. More... | |
bool | operator>= (const PObject &obj) const |
Compare the two objects. More... | |
virtual const char * | GetClass (unsigned ancestor=0) const |
Get the current dynamic type of the object instance. More... | |
PBoolean | IsClass (const char *cls) const |
virtual PBoolean | InternalIsDescendant (const char *clsName) const |
Determine if the dynamic type of the current instance is a descendent of the specified class. More... | |
virtual void | PrintOn (ostream &strm) const |
Output the contents of the object to the stream. More... | |
virtual void | ReadFrom (istream &strm) |
Input the contents of the object from the stream. More... | |
Protected Member Functions | |
virtual PTCPSocket * | CreateSocket () |
![]() | |
PDECLARE_NOTIFIER (PThread, PCLISocket, ThreadMain) | |
bool | HandleSingleThreadForAll () |
bool | HandleIncoming () |
![]() | |
PObject () | |
Constructor for PObject, made protected so cannot ever create one on its own. More... | |
Command Line Interpreter over Telnet sockets.
This class allows for access and automatic creation of command line interpreter contexts from incoming Telnet connections on a listening port.
PCLITelnet::PCLITelnet | ( | WORD | port = 0 , |
const char * | prompt = NULL , |
||
bool | singleThreadForAll = false |
||
) |
|
protectedvirtual |
Reimplemented from PCLISocket.