Command defines the interface every shell command must implement.
The interface is quite simple, consisting only of a single member function that subclasses must override.
Member Functions: execute
STATUS_OK = 0
STATUS_USAGE = 1
command line usage error
STATUS_ERROR = 2
command execution error
STATUS_DENIED = 3
bad credentials or insufficient permissions to execute the command
Creates the Command.
Destroys the Command.
virtual int execute(
Session & session,
const std::vector < std::string > & args,
std::ostream & ostr
) = 0;
Execute the command, using the given arguments, within the given session. The first element of the args vector is the command name.
Any output produced by executing the command can be written to the given output stream.
An integer must be returned that denotes success or failure of the command. Upon success, 0 shall be returned. The CommandStatus enumeration defines a few commonly used error codes that should be used. Other statis codes in the range 0 - 99 can be used as well. Negative status codes are reserved for internal use.