![]() |
Shadowrun: Awakened 29 September 2011 - Build 871
|
The interface used by command parsers. More...
#include <CommandParserInterface.h>
Inheritance diagram for RakNet::CommandParserInterface:Public Member Functions | |
| CommandParserInterface () | |
| virtual const char * | GetName (void) const =0 |
| virtual bool | GetRegisteredCommand (const char *command, RegisteredCommand *rc) |
| virtual bool | OnCommand (const char *command, unsigned numParameters, char **parameterList, TransportInterface *transport, const SystemAddress &systemAddress, const char *originalString)=0 |
| Given command with parameters parameterList , do whatever processing you wish. | |
| virtual void | OnConnectionLost (const SystemAddress &systemAddress, TransportInterface *transport) |
| A callback for when systemAddress has disconnected, either gracefully or forcefully. | |
| virtual void | OnNewIncomingConnection (const SystemAddress &systemAddress, TransportInterface *transport) |
| A callback for when systemAddress has connected to us. | |
| virtual void | OnTransportChange (TransportInterface *transport) |
| This is called every time transport interface is registered. | |
| virtual void | RegisterCommand (unsigned char parameterCount, const char *command, const char *commandHelp) |
| virtual void | ReturnResult (const char *command, TransportInterface *transport, const SystemAddress &systemAddress) |
| Just writes a string to the remote system when you are calling a function that has no return value. | |
| virtual void | ReturnResult (int res, const char *command, TransportInterface *transport, const SystemAddress &systemAddress) |
| virtual void | ReturnResult (SystemAddress res, const char *command, TransportInterface *transport, const SystemAddress &systemAddress) |
| virtual void | ReturnResult (char *res, const char *command, TransportInterface *transport, const SystemAddress &systemAddress) |
| virtual void | ReturnResult (bool res, const char *command, TransportInterface *transport, const SystemAddress &systemAddress) |
| Just writes a string to the remote system based on the result ( res ) of your operation. | |
| virtual void | SendCommandList (TransportInterface *transport, const SystemAddress &systemAddress) |
| virtual void | SendHelp (TransportInterface *transport, const SystemAddress &systemAddress)=0 |
| A callback for when you are expected to send a brief description of your parser to systemAddress. | |
| virtual | ~CommandParserInterface () |
Static Public Member Functions | |
| static void | ParseConsoleString (char *str, const char delineator, unsigned char delineatorToggle, unsigned *numParameters, char **parameterList, unsigned parameterListLength) |
Static Public Attributes | |
| static const unsigned char | VARIABLE_NUMBER_OF_PARAMETERS |
Protected Attributes | |
| DataStructures::OrderedList < const char *, RegisteredCommand, RegisteredCommandComp > | commandList |
CommandParserInterface provides a set of functions and interfaces that plug into the ConsoleServer class. Each CommandParserInterface works at the same time as other interfaces in the system.
Definition at line 38 of file CommandParserInterface.h.
| RakNet::CommandParserInterface::CommandParserInterface | ( | ) |
| virtual RakNet::CommandParserInterface::~CommandParserInterface | ( | ) | [virtual] |
| virtual const char* RakNet::CommandParserInterface::GetName | ( | void | ) | const [pure virtual] |
You are responsible for overriding this function and returning a static string, which will identifier your parser. This should return a static string
Implemented in RakNet::LogCommandParser, and RakNet::RakNetCommandParser.
| virtual bool RakNet::CommandParserInterface::GetRegisteredCommand | ( | const char * | command, |
| RegisteredCommand * | rc | ||
| ) | [virtual] |
| virtual bool RakNet::CommandParserInterface::OnCommand | ( | const char * | command, |
| unsigned | numParameters, | ||
| char ** | parameterList, | ||
| TransportInterface * | transport, | ||
| const SystemAddress & | systemAddress, | ||
| const char * | originalString | ||
| ) | [pure virtual] |
| [in] | command | The command to process |
| [in] | numParameters | How many parameters were passed along with the command |
| [in] | parameterList | The list of parameters. parameterList[0] is the first parameter and so on. |
| [in] | transport | The transport interface we can use to write to |
| [in] | systemAddress | The player that sent this command. |
| [in] | originalString | The string that was actually sent over the network, in case you want to do your own parsing |
Implemented in RakNet::LogCommandParser, and RakNet::RakNetCommandParser.
| virtual void RakNet::CommandParserInterface::OnConnectionLost | ( | const SystemAddress & | systemAddress, |
| TransportInterface * | transport | ||
| ) | [virtual] |
| [in] | systemAddress | The player that has disconnected. |
| [in] | transport | The transport interface that sent us this information. |
Reimplemented in RakNet::LogCommandParser.
| virtual void RakNet::CommandParserInterface::OnNewIncomingConnection | ( | const SystemAddress & | systemAddress, |
| TransportInterface * | transport | ||
| ) | [virtual] |
| [in] | systemAddress | The player that has connected. |
| [in] | transport | The transport interface that sent us this information. Can be used to send messages to this or other players. |
Reimplemented in RakNet::LogCommandParser.
| virtual void RakNet::CommandParserInterface::OnTransportChange | ( | TransportInterface * | transport | ) | [virtual] |
If you want to save a copy of the TransportInterface pointer This is the place to do it
| [in] | transport | The new TransportInterface |
Reimplemented in RakNet::LogCommandParser.
| static void RakNet::CommandParserInterface::ParseConsoleString | ( | char * | str, |
| const char | delineator, | ||
| unsigned char | delineatorToggle, | ||
| unsigned * | numParameters, | ||
| char ** | parameterList, | ||
| unsigned | parameterListLength | ||
| ) | [static] |
| virtual void RakNet::CommandParserInterface::RegisterCommand | ( | unsigned char | parameterCount, |
| const char * | command, | ||
| const char * | commandHelp | ||
| ) | [virtual] |
Registers a command.
| [in] | parameterCount | How many parameters your command requires. If you want to accept a variable number of commands, pass CommandParserInterface::VARIABLE_NUMBER_OF_PARAMETERS |
| [in] | command | A pointer to a STATIC string that has your command. I keep a copy of the pointer here so don't deallocate the string. |
| [in] | commandHelp | A pointer to a STATIC string that has the help information for your command. I keep a copy of the pointer here so don't deallocate the string. |
| virtual void RakNet::CommandParserInterface::ReturnResult | ( | char * | res, |
| const char * | command, | ||
| TransportInterface * | transport, | ||
| const SystemAddress & | systemAddress | ||
| ) | [virtual] |
| virtual void RakNet::CommandParserInterface::ReturnResult | ( | const char * | command, |
| TransportInterface * | transport, | ||
| const SystemAddress & | systemAddress | ||
| ) | [virtual] |
This is not necessary to call, but makes it easier to return results of function calls.
| [in] | res | The result to write |
| [in] | command | The command that this result came from |
| [in] | transport | The transport interface that will be written to |
| [in] | systemAddress | The player this result will be sent to |
| virtual void RakNet::CommandParserInterface::ReturnResult | ( | SystemAddress | res, |
| const char * | command, | ||
| TransportInterface * | transport, | ||
| const SystemAddress & | systemAddress | ||
| ) | [virtual] |
| virtual void RakNet::CommandParserInterface::ReturnResult | ( | int | res, |
| const char * | command, | ||
| TransportInterface * | transport, | ||
| const SystemAddress & | systemAddress | ||
| ) | [virtual] |
| virtual void RakNet::CommandParserInterface::ReturnResult | ( | bool | res, |
| const char * | command, | ||
| TransportInterface * | transport, | ||
| const SystemAddress & | systemAddress | ||
| ) | [virtual] |
This is not necessary to call, but makes it easier to return results of function calls.
| [in] | res | The result to write |
| [in] | command | The command that this result came from |
| [in] | transport | The transport interface that will be written to |
| [in] | systemAddress | The player this result will be sent to |
| virtual void RakNet::CommandParserInterface::SendCommandList | ( | TransportInterface * | transport, |
| const SystemAddress & | systemAddress | ||
| ) | [virtual] |
| virtual void RakNet::CommandParserInterface::SendHelp | ( | TransportInterface * | transport, |
| const SystemAddress & | systemAddress | ||
| ) | [pure virtual] |
| [in] | transport | The transport interface we can use to write to |
| [in] | systemAddress | The player that requested help. |
Implemented in RakNet::LogCommandParser, and RakNet::RakNetCommandParser.
DataStructures::OrderedList<const char*, RegisteredCommand, RegisteredCommandComp> RakNet::CommandParserInterface::commandList [protected] |
Definition at line 134 of file CommandParserInterface.h.
const unsigned char RakNet::CommandParserInterface::VARIABLE_NUMBER_OF_PARAMETERS [static] |
Definition at line 102 of file CommandParserInterface.h.
Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.