#include <ArClientArgUtils.h>
(The name of the class is a slight misnomer since it may be used both on the server and client sides.)
The structure of the network packet information is as follows:
string: arg.getName()
string: arg.getDescription()
byte: arg.getConfigPriority()
byte: arg type ('B' == BOOL | 'I' == INT | 'D' == DOUBLE | 'S' == STRING)
<arg values>
string: arg.getDisplayHint() -- only if isDisplayHintParsed is set to true
<arg values> varies by arg type:
if BOOL, then:
byte: arg.getBool()
if INT, then:
byte4: arg.getInt()
byte4: arg.getMinInt()
byte4: arg.getMaxInt()
if DOUBLE, then:
byte4: arg.getDouble()
byte4: arg.getMinDouble()
byte4: arg.getMaxDouble()
if STRING, then:
string: arg.getString()
ArClientArg also defines methods to send an "abbreviated" ArConfigArg (i.e. just value). The short packet structure is as follows:
<arg value> varies by arg type:
if BOOL, then:
byte: arg.getBool()
if INT, then:
byte4: arg.getInt()
if DOUBLE, then:
byte4: arg.getDouble()
if STRING, then:
string: arg.getString()
Lastly, it defines a method to send an "abbreviated" ArConfigArg in a text format.
Public Member Functions | |
| ArClientArg (bool isDisplayHintParsed=false, ArPriority::Priority lastPriority=ArPriority::LAST_PRIORITY) | |
| Constructor. | |
| virtual bool | argTextToBuf (const ArConfigArg &arg, ArNetPacket *packet) |
| The stored text string is suitable for parsing by an ArArgumentBuilder. | |
| virtual bool | argValueToBuf (const ArConfigArg &arg, ArNetPacket *packet) |
| virtual bool | bufToArgValue (ArNetPacket *packet, ArConfigArg &arg) |
| virtual bool | createArg (ArNetPacket *packet, ArConfigArg &argOut) |
| virtual bool | createPacket (const ArConfigArg &arg, ArNetPacket *packet) |
| virtual bool | isSendableParamType (const ArConfigArg &arg) |
| Currently, a parameter can only be sent if it is of type INT, DOUBLE, STRING, BOOL, or a SEPARATOR. | |
| virtual | ~ArClientArg () |
| Destructor. | |
Protected Types | |
| enum | { BUFFER_LENGTH = 1024 } |
| BUFFER_LENGTH = 1024 | |
Protected Attributes | |
| char | myBuffer [BUFFER_LENGTH] |
| char | myDisplayBuffer [BUFFER_LENGTH] |
| bool | myIsDisplayHintParsed |
| ArPriority::Priority | myLastPriority |
| ArClientArg::ArClientArg | ( | bool | isDisplayHintParsed = false, |
|
| ArPriority::Priority | lastPriority = ArPriority::LAST_PRIORITY | |||
| ) |
Constructor.
| ArClientArg::~ArClientArg | ( | ) | [virtual] |
Destructor.
| bool ArClientArg::argTextToBuf | ( | const ArConfigArg & | arg, | |
| ArNetPacket * | packet | |||
| ) | [virtual] |
The stored text string is suitable for parsing by an ArArgumentBuilder.
| arg | the ArConfigArg from which to retrieve the data | |
| packet | the ArNetPacket * to which data is added |
| bool ArClientArg::argValueToBuf | ( | const ArConfigArg & | arg, | |
| ArNetPacket * | packet | |||
| ) | [virtual] |
| arg | the ArConfigArg from which to retrieve the data | |
| packet | the ArNetPacket * to which data is added |
| bool ArClientArg::bufToArgValue | ( | ArNetPacket * | packet, | |
| ArConfigArg & | arg | |||
| ) | [virtual] |
| packet | the ArNetPacket * from which data is extracted | |
| arg | the ArConfigArg in which to set the value |
| bool ArClientArg::createArg | ( | ArNetPacket * | packet, | |
| ArConfigArg & | argOut | |||
| ) | [virtual] |
| packet | the ArNetPacket * from which data is extracted | |
| argOut | the ArConfigArg in which to set the data |
| bool ArClientArg::createPacket | ( | const ArConfigArg & | arg, | |
| ArNetPacket * | packet | |||
| ) | [virtual] |
| arg | the ArConfigArg from which to retrieve the data | |
| packet | the ArNetPacket * to which data is added |
| bool ArClientArg::isSendableParamType | ( | const ArConfigArg & | arg | ) | [virtual] |
Currently, a parameter can only be sent if it is of type INT, DOUBLE, STRING, BOOL, or a SEPARATOR.
char ArClientArg::myBuffer[BUFFER_LENGTH] [protected] |
char ArClientArg::myDisplayBuffer[BUFFER_LENGTH] [protected] |
bool ArClientArg::myIsDisplayHintParsed [protected] |
ArPriority::Priority ArClientArg::myLastPriority [protected] |
1.4.7