ArClientData Class Reference

#include <ArClientData.h>

List of all members.


Detailed Description

This class is mostly just for holding all the information about one of the client data entires in one convenient spot.

Information about the data flags held here... The recognized ones right now are just for return values so some forwarding can be done intelligently, you should only have one return value, they are: RETURN_NONE (There are no return packets), RETURN_SINGLE (There is exactly one return packet), RETURN_UNTIL_EMPTY (There return goes until an empty packet), RETURN_VIDEO (this is the special case for video where basically its something thats always requested at an interval and everyone'll want it after we've transfered it), RETURN_COMPLEX (The return is more complex (so you'll need a helper class))


Public Member Functions

void addDataFlags (const char *dataFlags)
 Sets the data flags.
void addFunctor (ArFunctor1< ArNetPacket * > *functor)
 Adds a new functor the end of the list.
 ArClientData (const char *name, const char *description, unsigned int command, ArFunctor1< ArNetPacket * > *functor)
 Constructor.
const char * getArgumentDescription (void)
 Gets the argument description.
unsigned int getCommand (void)
const char * getCommandGroup (void)
 Gets the command group.
const char * getDataFlagsString (void)
const char * getDescription (void)
 Gets the description.
const std::list< ArFunctor1<
ArNetPacket * > * > * 
getFunctorList (void) const
 Gets the list of functors.
const char * getName (void)
 Gets the name.
const char * getReturnDescription (void)
 Gets the return description.
bool hasDataFlag (const char *dataFlag)
int lockFunctorList (void)
 Locks the functor list so we can walk it without it changing.
void remFunctor (ArFunctor1< ArNetPacket * > *functor)
 Removes a functor from the list all together.
void setArgRetDescs (const char *argDesc, const char *retDesc)
 Sets the argument and return descriptions.
void setCommandGroup (const char *commandGroup)
 Sets the command group.
int tryLockFunctorList (void)
 Tries to lock the functor list so we can walk it without it changing.
int unlockFunctorList (void)
 Unlocks the functor list so we can walk it without it changing.
virtual ~ArClientData ()
 Destructor.

Protected Attributes

std::string myArgumentDescription
unsigned int myCommand
std::string myCommandGroup
ArArgumentBuilder myDataFlagsBuilder
ArMutex myDataMutex
std::string myDescription
std::list< ArFunctor1< ArNetPacket * > * > myFunctorList
ArMutex myMutex
std::string myName
std::string myReturnDescription


Constructor & Destructor Documentation

ArClientData::ArClientData ( const char *  name,
const char *  description,
unsigned int  command,
ArFunctor1< ArNetPacket * > *  functor 
)

Constructor.

ArClientData::~ArClientData (  )  [virtual]

Destructor.


Member Function Documentation

void ArClientData::addDataFlags ( const char *  dataFlags  ) 

Sets the data flags.

void ArClientData::addFunctor ( ArFunctor1< ArNetPacket * > *  functor  )  [inline]

Adds a new functor the end of the list.

const char* ArClientData::getArgumentDescription ( void   )  [inline]

Gets the argument description.

unsigned int ArClientData::getCommand ( void   )  [inline]

const char* ArClientData::getCommandGroup ( void   )  [inline]

Gets the command group.

const char* ArClientData::getDataFlagsString ( void   )  [inline]

const char* ArClientData::getDescription ( void   )  [inline]

Gets the description.

const std::list<ArFunctor1<ArNetPacket *> *>* ArClientData::getFunctorList ( void   )  const [inline]

Gets the list of functors.

const char* ArClientData::getName ( void   )  [inline]

Gets the name.

const char* ArClientData::getReturnDescription ( void   )  [inline]

Gets the return description.

bool ArClientData::hasDataFlag ( const char *  dataFlag  ) 

int ArClientData::lockFunctorList ( void   )  [inline]

Locks the functor list so we can walk it without it changing.

void ArClientData::remFunctor ( ArFunctor1< ArNetPacket * > *  functor  )  [inline]

Removes a functor from the list all together.

void ArClientData::setArgRetDescs ( const char *  argDesc,
const char *  retDesc 
) [inline]

Sets the argument and return descriptions.

void ArClientData::setCommandGroup ( const char *  commandGroup  )  [inline]

Sets the command group.

int ArClientData::tryLockFunctorList ( void   )  [inline]

Tries to lock the functor list so we can walk it without it changing.

int ArClientData::unlockFunctorList ( void   )  [inline]

Unlocks the functor list so we can walk it without it changing.


Member Data Documentation

std::string ArClientData::myArgumentDescription [protected]

unsigned int ArClientData::myCommand [protected]

std::string ArClientData::myCommandGroup [protected]

ArArgumentBuilder ArClientData::myDataFlagsBuilder [protected]

ArMutex ArClientData::myDataMutex [protected]

std::string ArClientData::myDescription [protected]

std::list<ArFunctor1<ArNetPacket *> *> ArClientData::myFunctorList [protected]

ArMutex ArClientData::myMutex [protected]

std::string ArClientData::myName [protected]

std::string ArClientData::myReturnDescription [protected]


The documentation for this class was generated from the following files:
Generated on Fri Jul 31 12:37:28 2009 for ArNetworking by  doxygen 1.4.7