ArConfigArg Class Reference

#include <ArConfigArg.h>

List of all members.


Detailed Description

Argument class for ArConfig.

Java and Python Wrappers: Swig cannot determine the correct constructor to use based on most target langugages types, so you must use subclasses defined for various types. Or, use the constructor that accepts functors for dealing with arguments. Also, Swig cannot use pointers to change variables, so you must create ArConfigArg objects, passing in default values, and retain references to those objects, in addition to passing them to ArConfig, and read new values from those objects if ArConfig changes; or pass functors to ArConfigArg instead of the initial value.


Public Types

enum  { TYPE_COUNT = LAST_TYPE + 1 }
enum  Type {
  INVALID, INT, DOUBLE, STRING,
  BOOL, FUNCTOR, DESCRIPTION_HOLDER, STRING_HOLDER,
  SEPARATOR, LAST_TYPE = SEPARATOR
}

Public Member Functions

 ArConfigArg (const ArConfigArg &arg)
 Copy constructor.
 ArConfigArg (Type type)
 Constructs a new argument of the specified type.
 ArConfigArg (const char *name, const char *str)
 Constructor for holding an unknown argument (STRING_HOLDER).
 ArConfigArg (const char *str, Type type=DESCRIPTION_HOLDER)
 Constructor for just holding a description (for ArConfig).
 ArConfigArg (const char *name, ArRetFunctor1< bool, ArArgumentBuilder * > *setFunctor, ArRetFunctor< const std::list< ArArgumentBuilder * > * > *getFunctor, const char *description)
 Constructor for making an argument that has functors to handle things.
 ArConfigArg (const char *name, bool val, const char *description="")
 Constructor for making a boolean argument.
 ArConfigArg (const char *name, double val, const char *description="", double minDouble=-HUGE_VAL, double maxDouble=HUGE_VAL)
 Constructor for making a double argument.
 ArConfigArg (const char *name, int val, const char *description="", int minInt=INT_MIN, int maxInt=INT_MAX)
 Constructor for making an integer argument.
 ArConfigArg (const char *name, char *str, const char *description, size_t maxStrLen)
 Constructor for making an argument of a string by pointer (see details).
 ArConfigArg (const char *name, bool *pointer, const char *description="")
 Constructor for making a boolean argument by pointer.
 ArConfigArg (const char *name, double *pointer, const char *description="", double minDouble=-HUGE_VAL, double maxDouble=HUGE_VAL)
 Constructor for making a double argument by pointer.
 ArConfigArg (const char *name, unsigned char *pointer, const char *description="", int minInt=0, int maxInt=255)
 Constructor for making an char (1 byte) argument by pointer (treated as int).
 ArConfigArg (const char *name, unsigned short *pointer, const char *description="", int minInt=0, int maxInt=USHRT_MAX)
 Constructor for making an int argument thats a ushort (2 bytes).
 ArConfigArg (const char *name, short *pointer, const char *description="", int minInt=SHRT_MIN, int maxInt=SHRT_MAX)
 Constructor for making an int argument thats a short (2 bytes).
 ArConfigArg (const char *name, int *pointer, const char *description="", int minInt=INT_MIN, int maxInt=INT_MAX)
 Constructor for making an integer argument by pointer (4 bytes).
 ArConfigArg ()
 Default empty contructor.
void clearValueSet (void)
 Tells the configArg that the value hasn't been set.
const std::list< ArArgumentBuilder * > * getArgsWithFunctor (void) const
 Gets the argument value, which is a list of argumentbuilders here.
bool getBool (void) const
 Gets the argument value, for bool arguments.
ArPriority::Priority getConfigPriority (void) const
 Gets the priority (only used by ArConfig).
const char * getDescription (void) const
 Gets the long description of the argument.
const char * getDisplayHint () const
 Returns the display hint for this arg, or NULL if none is defined.
double getDouble (void) const
 Gets the argument value, for double arguments.
int getInt (void) const
 Gets the argument value, for int arguments.
double getMaxDouble (void) const
 Gets the maximum double value.
int getMaxInt (void) const
 Gets the maximum int value.
double getMinDouble (void) const
 Gets the minimum double value.
int getMinInt (void) const
 Gets the minimum int value.
const char * getName (void) const
 Gets the name of the argument.
const char * getString (void) const
 Gets the argument value, for string arguments.
ArConfigArg::Type getType (void) const
 Gets the type of the argument.
bool isValueEqual (const ArConfigArg &other) const
 Checks only the name, type, and value attributes and returns whether they are equal.
bool isValueSet (void)
 Gets whether this value has been set since it was last cleared or not.
void log (bool verbose=false) const
 Logs the type, name, and value of this argument.
ArConfigArgoperator= (const ArConfigArg &arg)
 Assignment operator.
bool setArgWithFunctor (ArArgumentBuilder *argument, char *errorBuffer=NULL, size_t errorBufferLen=0, bool doNotSet=false)
 Sets the argument by calling the setFunctor callback.
bool setBool (bool val, char *errorBuffer=NULL, size_t errorBufferLen=0, bool doNotSet=false)
 Sets the argument value, for bool arguments.
void setConfigPriority (ArPriority::Priority priority)
 Sets the priority (only used by ArConfig).
void setDisplayHint (const char *hintText)
 Sets the display hint for this arg.
bool setDouble (double val, char *errorBuffer=NULL, size_t errorBufferLen=0, bool doNotSet=false)
 Sets the argument value, for double arguments.
void setIgnoreBounds (bool ignoreBounds=false)
 Sets whether to ignore bounds or not (default is to not to.
bool setInt (int val, char *errorBuffer=NULL, size_t errorBufferLen=0, bool doNotSet=false)
 Sets the argument value, for int arguments.
bool setString (const char *str, char *errorBuffer=NULL, size_t errorBufferLen=0, bool doNotSet=false)
 Sets the argument value for ArArgumentBuilder arguments.
bool setValue (const ArConfigArg &source)
 If the given source is of the same type, copies its value to this arg.
virtual ~ArConfigArg ()
 Destructor.

Protected Types

enum  IntType {
  INT_NOT, INT_INT, INT_SHORT, INT_UNSIGNED_SHORT,
  INT_UNSIGNED_CHAR
}

Protected Attributes

bool * myBoolPointer
ArPriority::Priority myConfigPriority
std::string myDescription
std::string myDisplayHint
double * myDoublePointer
ArRetFunctor< const std::list<
ArArgumentBuilder * > * > * 
myGetFunctor
bool myIgnoreBounds
int * myIntPointer
short * myIntShortPointer
ArConfigArg::IntType myIntType
unsigned char * myIntUnsignedCharPointer
unsigned short * myIntUnsignedShortPointer
double myMaxDouble
int myMaxInt
size_t myMaxStrLen
double myMinDouble
int myMinInt
std::string myName
bool myOwnPointedTo
ArRetFunctor1< bool, ArArgumentBuilder * > * mySetFunctor
std::string myString
char * myStringPointer
ArConfigArg::Type myType
bool myUsingOwnedString
bool myValueSet


Member Enumeration Documentation

anonymous enum

Enumerator:
TYPE_COUNT  Number of argument types.

enum ArConfigArg::IntType [protected]

Enumerator:
INT_NOT  Not an int.
INT_INT  An int (4 bytes).
INT_SHORT  A short (2 bytes).
INT_UNSIGNED_SHORT  An unsigned short (2 bytes).
INT_UNSIGNED_CHAR  An unsigned char (1 byte).

enum ArConfigArg::Type

Enumerator:
INVALID  An invalid argument, the argument wasn't created correctly.
INT  Integer argument.
DOUBLE  Double argument.
STRING  String argument.
BOOL  Boolean argument.
FUNCTOR  Argument that handles things with functors.
DESCRIPTION_HOLDER  Argument that just holds a description.
STRING_HOLDER  this one is for holding strings and reading them in and writing them out but not really letting them get sent anywhere (its for unknown config parameters (so they don't get lost if a feature is turned off)
SEPARATOR  Empty argument that merely acts as a separator within a (large) section.
LAST_TYPE  Last value in the enumeration.


Member Function Documentation

bool ArConfigArg::setValue ( const ArConfigArg source  ) 

If the given source is of the same type, copies its value to this arg.

Note that this method currently only works for the primitive arg types (i.e. int, bool, etc.). It doesn't copy functors or description holders.

Parameters:
source the ArConfigArg whose value is to be copied to this arg
Returns:
bool true if the value was copied; false if the source was of a different (or non-copyable) type


The documentation for this class was generated from the following file:
Generated on Thu Aug 6 09:39:34 2009 for Aria by  doxygen 1.5.1