Main Page Modules Class Hierarchy Compound List File List Compound Members

# cDisplayStringParser Class Reference

`#include <cdispstr.h>`

List of all members.

## Public Methods

| cDisplayStringParser ()
| cDisplayStringParser (const char *dispstr)
| ~cDisplayStringParser ()
const char* | getString ()
bool | parse (const char *displaystr)
bool | existsTag (const char *tagname)
int | getNumArgs (const char *tagname)
const char* | getTagArg (const char *tagname, int index)
bool | setTagArg (const char *tagname, int index, const char *value)
bool | removeTag (const char *tagname)
int | getNumTags ()
const char* | getTagName (int tagindex)
int | getNumArgs (int tagindex)
const char* | getTagArg (int tagindex, int index)
bool | setTagArg (int tagindex, int index, const char *value)
bool | insertTag (const char *tagname, int atindex=0)
bool | removeTag (int tagindex)

## Detailed Description

Utility class for 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:

       cDisplayStringParser 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.

## Constructor & Destructor Documentation

cDisplayStringParser::cDisplayStringParser ( | )

| Constructor.

cDisplayStringParser::cDisplayStringParser ( | const char * dispstr )

| Constructor.

cDisplayStringParser::~cDisplayStringParser ( | )

| Destructor.

## Member Function Documentation

bool cDisplayStringParser::existsTag ( | const char * tagname )

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

int cDisplayStringParser::getNumArgs ( | int tagindex )

| 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 cDisplayStringParser::getNumArgs ( | const char * tagname )

| 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 cDisplayStringParser::getNumTags ( | )

| Returns the number of tags in the display string. Tags are indexed starting from 0.

const char * cDisplayStringParser::getString ( | )

| Returns the display string.

const char * cDisplayStringParser::getTagArg ( | int tagindex,
| int index )

| 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 * cDisplayStringParser::getTagArg ( | const char * tagname,
| int index )

| 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 * cDisplayStringParser::getTagName ( | int tagindex )

| Returns the name of the tag given with its index. If the tag index is out of range, NULL is returned.

bool cDisplayStringParser::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.

bool cDisplayStringParser::parse ( | const char * displaystr )

| Sets the stored display string.

bool cDisplayStringParser::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 cDisplayStringParser::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 cDisplayStringParser::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 cDisplayStringParser::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:

- cdispstr.h