cDisplayString Class Reference
[Utility classes]

#include <cdispstr.h>

List of all members.


Detailed Description

Class for storage and easy manipulation of display strings.

Display strings are used to control the graphical presentation of network elements when a GUI execution environment is used (Tkenv).

A display string consist of several named tags, where each tag may have several arguments (parameters). The syntax: "tag1=value1,val2,val3;tag2=val4,val5".

This class facilitates tasks such as adding new tags, adding arguments to existing tags, removing tags or replacing arguments. The internal storage method allows very fast operation; it will generally be faster than direct string manipulation.

The object doesn't try to interpret the display string in any way, nor does it know the meaning of the different tags; it merely parses the string as data elements separated by semicolons, equal signs and commas.

An example:

   cDisplayString dispstr("a=1,2;p=alpha,,3");
   dispstr.insertTag("x");
   dispstr.setTagArg("x",0,"joe");
   dispstr.setTagArg("x",2,"jim");
   dispstr.setTagArg("p",0,"beta");
   ev << dispstr.getString();  // result: "x=joe,,jim;a=1,2;p=beta,,3"
 

Limitation: a tag may have at most 16 arguments.


Public Member Functions

 cDisplayString ()
 cDisplayString (const char *dispstr)
 cDisplayString (const cDisplayString &ds)
 ~cDisplayString ()
cDisplayStringoperator= (const cDisplayString &ds)
cDisplayStringoperator= (const char *s)
 operator const char * () const
const char * getString () const
bool parse (const char *displaystr)
bool existsTag (const char *tagname) const
int getNumArgs (const char *tagname) const
const char * getTagArg (const char *tagname, int index) const
bool setTagArg (const char *tagname, int index, const char *value)
bool setTagArg (const char *tagname, int index, long value)
bool removeTag (const char *tagname)
int getNumTags () const
const char * getTagName (int tagindex) const
int getNumArgs (int tagindex) const
const char * getTagArg (int tagindex, int index) const
bool setTagArg (int tagindex, int index, const char *value)
int insertTag (const char *tagname, int atindex=0)
bool removeTag (int tagindex)


Constructor & Destructor Documentation

cDisplayString::cDisplayString  ) 
 

Constructor.

cDisplayString::cDisplayString const char *  dispstr  ) 
 

Constructor.

cDisplayString::cDisplayString const cDisplayString ds  ) 
 

Copy constructor.

cDisplayString::~cDisplayString  ) 
 

Destructor.


Member Function Documentation

bool cDisplayString::existsTag const char *  tagname  )  const
 

Returns true if the stored display string contains the given tag.

int cDisplayString::getNumArgs int  tagindex  )  const
 

Returns the number of arguments a tag actually has in the display string.

The count includes empty arguments too. For example, for the "x=8,,15,2;y=2" display string getNumArgs("x") returns 4, and getNumArgs("y") returns 1. If the display string doesn't contain the given tag, 0 is returned.

int cDisplayString::getNumArgs const char *  tagname  )  const
 

Returns the number of arguments a tag actually has in the display string.

The count includes empty arguments too. For example, for the "x=8,,15,2;y=2" display string getNumArgs("x") returns 4, and getNumArgs("y") returns 1. If the display string doesn't contain the given tag, 0 is returned.

int cDisplayString::getNumTags  )  const
 

Returns the number of tags in the display string.

Tags are indexed starting from 0.

const char* cDisplayString::getString  )  const
 

Returns the display string.

const char* cDisplayString::getTagArg int  tagindex,
int  index
const
 

Returns pointer to the indexth argument of the given tag.

If the tag doesn't exist or the index is out of range, NULL is returned.

const char* cDisplayString::getTagArg const char *  tagname,
int  index
const
 

Returns pointer to the indexth argument of the given tag.

If the tag doesn't exist or the index is out of range, empty string ("") is returned.

const char* cDisplayString::getTagName int  tagindex  )  const
 

Returns the name of the tag given with its index.

If the tag index is out of range, NULL is returned.

int cDisplayString::insertTag const char *  tagname,
int  atindex = 0
 

Inserts a tag into the display string, optionally at the given index.

If no index is given, the tag is inserted at the beginning of the string. Return value is the index of the tag. If the display string already contains a tag with the given tagname, nothing is changed and the index of the existing tag is returned.

cDisplayString::operator const char *  )  const [inline]
 

Conversion to string.

cDisplayString& cDisplayString::operator= const char *  s  )  [inline]
 

Conversion from string.

cDisplayString& cDisplayString::operator= const cDisplayString ds  )  [inline]
 

Assignment operator.

bool cDisplayString::parse const char *  displaystr  ) 
 

Sets the display string to the given value.

The return value is false if there was an error parsing the string.

bool cDisplayString::removeTag int  tagindex  ) 
 

Removes the given tag with all its arguments from the display string.

The result is true if the tag was actually deleted (it existed before), false otherwise.

bool cDisplayString::removeTag const char *  tagname  ) 
 

Removes the given tag with all its arguments from the display string.

The result is true if the tag was actually deleted (it existed before), false otherwise.

bool cDisplayString::setTagArg int  tagindex,
int  index,
const char *  value
 

Sets an argument for the given tag.

The value may be NULL pointer. If index points beyond the last argument, the list of arguments will be extended by inserting intervening empty arguments if necessary.

The result is true if the operation was successful. False is returned if the given tag doesn't exist, or index is invalid (negative or greater than the maximum numer of arguments, currently 16).

bool cDisplayString::setTagArg const char *  tagname,
int  index,
long  value
 

Convenience function to set a tag argument to a numeric value.

Converts 'value' to string, then calls setTagArg(const char *, int, const char *).

bool cDisplayString::setTagArg const char *  tagname,
int  index,
const char *  value
 

Sets an argument for the given tag.

The value may be NULL pointer. If index points beyond the last argument, the list of arguments will be extended by inserting intervening empty arguments if necessary.

The result is true if the operation was successful. False is returned if the given tag doesn't exist, or index is invalid (negative or greater than the maximum numer of arguments, currently 16).


The documentation for this class was generated from the following file:
Generated on Sat Oct 21 17:47:56 2006 for OMNeT++/OMNEST Simulation Library by  doxygen 1.4.6