Yate
NamedList Class Reference

A named string container class. More...

#include <yateclass.h>

Inheritance diagram for NamedList:
String GenObject DataFormat Message

Public Types

enum  DumpFlags {
  DumpAddSeparator = 0x0001 , DumpForcePrefix = 0x0001 , DumpName = 0x0002 , DumpQuoteName = 0x0004 ,
  DumpEmptyName = 0x0008 , DumpQuoteParamName = 0x0010 , DumpDontQuoteParamValue = 0x0020
}
 
- Public Types inherited from String
enum  Align { Left = 0 , Center , Right }
 

Public Member Functions

 NamedList (const char *name)
 
 NamedList (const NamedList &original)
 
 NamedList (const char *name, const NamedList &original, const String &prefix)
 
NamedListoperator= (const NamedList &value)
 
virtual void * getObject (const String &name) const
 
unsigned int length () const
 
unsigned int count () const
 
void clearParams ()
 
NamedListaddParam (NamedString *param)
 
NamedListaddParam (const char *name, const char *value, bool emptyOK=true)
 
NamedListaddParam (const char *name, int64_t value)
 
NamedListaddParam (const char *name, uint64_t value)
 
NamedListaddParam (const char *name, int32_t value)
 
NamedListaddParam (const char *name, uint32_t value)
 
NamedListaddParam (const char *name, double value)
 
NamedListaddParam (const char *name, bool value)
 
NamedListaddParam (const char *name, unsigned int flags, const TokenDict *tokens, bool unknownflag=true)
 
NamedListaddParam (const char *name, uint64_t flags, const TokenDict64 *tokens, bool unknownflag=true)
 
NamedListaddParamHex (const char *name, const void *buf, unsigned int len, char sep=0)
 
NamedListsetParam (NamedString *param)
 
NamedListsetParam (const String &name, const char *value)
 
NamedListsetParam (const String &name, int64_t value)
 
NamedListsetParam (const String &name, uint64_t value)
 
NamedListsetParam (const String &name, int32_t value)
 
NamedListsetParam (const String &name, uint32_t value)
 
NamedListsetParam (const String &name, double value)
 
NamedListsetParam (const String &name, bool value)
 
NamedListsetParam (const String &name, unsigned int flags, const TokenDict *tokens, bool unknownflag=true)
 
NamedListsetParam (const String &name, uint64_t flags, const TokenDict64 *tokens, bool unknownflag=true)
 
NamedListsetParamHex (const String &name, const void *buf, unsigned int len, char sep=0)
 
NamedListclearParam (const String &name, char childSep=0, const String *value=0)
 
NamedListclearParam (NamedString *param, bool delParam=true)
 
NamedListcopyParam (const NamedList &original, const String &name, char childSep=0)
 
NamedListcopyParams (bool replace, const NamedList &original, bool copyUserData=false)
 
NamedListcopyParams (const NamedList &original)
 
NamedListcopyParams (const NamedList &original, ObjList *list, char childSep=0)
 
NamedListcopyParams (const NamedList &original, const String &list, char childSep=0)
 
NamedListcopySubParams (const NamedList &original, const String &prefix, bool skipPrefix=true, bool replace=false)
 
bool hasSubParams (const char *prefix) const
 
int getIndex (const NamedString *param) const
 
int getIndex (const String &name) const
 
NamedStringgetParam (const String &name) const
 
NamedStringgetParam (unsigned int index) const
 
const Stringoperator[] (const String &name) const
 
const char * getValue (const String &name, const char *defvalue=0) const
 
int getIntValue (const String &name, int defvalue=0, int minvalue=INT_MIN, int maxvalue=INT_MAX, bool clamp=true) const
 
int getIntValue (const String &name, const TokenDict *tokens, int defvalue=0) const
 
int getIntValue (const String &name, const TokenDictStr *tokens, int defvalue=0) const
 
int64_t getInt64Value (const String &name, int64_t defvalue=0, int64_t minvalue=LLONG_MIN, int64_t maxvalue=LLONG_MAX, bool clamp=true) const
 
int64_t getInt64ValueDict (const String &name, const TokenDict64 *tokens, int64_t defvalue=0) const
 
int64_t getInt64ValueDict (const String &name, const TokenDictStr64 *tokens, int64_t defvalue=0) const
 
uint64_t getUInt64Value (const String &name, uint64_t defvalue=0, uint64_t minvalue=0, uint64_t maxvalue=ULLONG_MAX, bool clamp=true) const
 
double getDoubleValue (const String &name, double defvalue=0.0) const
 
bool getBoolValue (const String &name, bool defvalue=false) const
 
int replaceParams (String &str, bool sqlEsc=false, char extraEsc=0) const
 
void dump (String &str, const char *separator, char quote=0, bool force=false) const
 
bool dump (String &str, unsigned int flags, const char *separator, const char *nameSep=0, const char *prefix=0, char quote=0) const
 
ObjListparamList ()
 
const ObjListparamList () const
 
- Public Member Functions inherited from String
 String ()
 
 String (const char *value, int len=-1)
 
 String (char value, unsigned int repeat=1)
 
 String (int32_t value)
 
 String (uint32_t value)
 
 String (int64_t value)
 
 String (uint64_t value)
 
 String (bool value)
 
 String (double value)
 
 String (const String &value)
 
 String (const String *value)
 
virtual ~String ()
 
const char * c_str () const
 
const char * safe () const
 
const char * safe (const char *defStr) const
 
unsigned int length () const
 
bool null () const
 
int lenUtf8 (uint32_t maxChar=0x10ffff, bool overlong=false) const
 
int fixUtf8 (const char *replace=0, uint32_t maxChar=0x10ffff, bool overlong=false)
 
unsigned int encodeFlags (const TokenDict *tokens) const
 
uint64_t encodeFlags (const TokenDict64 *tokens) const
 
StringdecodeFlags (unsigned int flags, const TokenDict *tokens, bool unknownflag=true)
 
StringdecodeFlags (uint64_t flags, const TokenDict64 *tokens, bool unknownflag=true)
 
bool checkBOM () const
 
bool stripBOM ()
 
unsigned int hash () const
 
void clear ()
 
char at (int index) const
 
String substr (int offs, int len=-1) const
 
StringtrimBlanks ()
 
StringtrimSpaces ()
 
virtual const StringtoString () const
 
int toInteger (int defvalue=0, int base=0, int minvalue=INT_MIN, int maxvalue=INT_MAX, bool clamp=true) const
 
int toInteger (const TokenDict *tokens, int defvalue=0, int base=0) const
 
int toInteger (const TokenDictStr *tokens, int defvalue=0, int base=0) const
 
long int toLong (long int defvalue=0, int base=0, long int minvalue=LONG_MIN, long int maxvalue=LONG_MAX, bool clamp=true) const
 
int64_t toInt64 (int64_t defvalue=0, int base=0, int64_t minvalue=LLONG_MIN, int64_t maxvalue=LLONG_MAX, bool clamp=true) const
 
int64_t toInt64Dict (const TokenDict64 *tokens, int64_t defvalue=0, int base=0) const
 
int64_t toInt64Dict (const TokenDictStr64 *tokens, int64_t defvalue=0, int base=0) const
 
uint64_t toUInt64 (uint64_t defvalue=0, int base=0, uint64_t minvalue=0, uint64_t maxvalue=ULLONG_MAX, bool clamp=true) const
 
double toDouble (double defvalue=0.0) const
 
bool toBoolean (bool defvalue=false) const
 
bool isBoolean () const
 
StringtoUpper ()
 
StringtoLower ()
 
char operator[] (signed int index) const
 
char operator[] (unsigned int index) const
 
 operator const char * () const
 
Stringassign (const char *value, int len=-1)
 
Stringassign (char value, unsigned int repeat=1)
 
Stringhexify (const void *data, unsigned int len, char sep=0, bool upCase=false)
 
Stringoperator= (const String &value)
 
Stringoperator= (const String *value)
 
Stringoperator= (const char *value)
 
Stringoperator= (char value)
 
Stringoperator= (int32_t value)
 
Stringoperator= (uint32_t value)
 
Stringoperator= (int64_t value)
 
Stringoperator= (uint64_t value)
 
Stringoperator= (bool value)
 
Stringoperator= (double value)
 
Stringoperator+= (const char *value)
 
Stringoperator+= (char value)
 
Stringoperator+= (int32_t value)
 
Stringoperator+= (uint32_t value)
 
Stringoperator+= (int64_t value)
 
Stringoperator+= (uint64_t value)
 
Stringoperator+= (bool value)
 
Stringoperator+= (double value)
 
bool operator== (const char *value) const
 
bool operator!= (const char *value) const
 
bool operator== (const String &value) const
 
bool operator!= (const String &value) const
 
bool operator&= (const char *value) const
 
bool operator|= (const char *value) const
 
Stringoperator<< (const char *value)
 
Stringoperator<< (char value)
 
Stringoperator<< (int32_t value)
 
Stringoperator<< (uint32_t value)
 
Stringoperator<< (int64_t value)
 
Stringoperator<< (uint64_t value)
 
Stringoperator<< (bool value)
 
Stringoperator<< (double value)
 
Stringoperator>> (const char *skip)
 
Stringoperator>> (char &store)
 
Stringoperator>> (UChar &store)
 
Stringoperator>> (int &store)
 
Stringoperator>> (unsigned int &store)
 
Stringoperator>> (bool &store)
 
Stringappend (const char *value, int len)
 
Stringappend (const char *value, const char *separator=0, bool force=false)
 
Stringappend (const ObjList *list, const char *separator=0, bool force=false)
 
Stringappend (const ObjList &list, const char *separator=0, bool force=false)
 
Stringappend (char value, unsigned int len=1)
 
Stringappend (double value, unsigned int decimals=3)
 
Stringinsert (unsigned int pos, const char *value, int len=-1)
 
Stringinsert (unsigned int pos, char value, unsigned int len=1)
 
Stringprintf (const char *format,...)
 
Stringprintf (unsigned int length, const char *format,...)
 
StringprintfAppend (const char *format,...)
 
StringprintfAppend (unsigned int length, const char *format,...)
 
StringappendFixed (unsigned int fixedLength, const char *str, unsigned int len=-1, char fill=' ', int align=Left)
 
StringappendFixed (unsigned int fixedLength, const String &str, char fill=' ', int align=Left)
 
int find (char what, unsigned int offs=0) const
 
int find (const char *what, unsigned int offs=0) const
 
int rfind (char what) const
 
int rfind (const char *what) const
 
bool startsWith (const char *what, bool wordBreak=false, bool caseInsensitive=false) const
 
bool endsWith (const char *what, bool wordBreak=false, bool caseInsensitive=false) const
 
bool startSkip (const char *what, bool wordBreak=true, bool caseInsensitive=false)
 
StringreplaceChars (const char *what, const char *repl, bool inPlace=false, int wLen=-1, int rLen=-1, bool *chg=0)
 
StringremoveChars (const char *what, int wLen=-1, bool *chg=0)
 
StringextractTo (const char *sep, String &store)
 
StringextractTo (const char *sep, bool &store)
 
StringextractTo (const char *sep, int &store, int base=0)
 
StringextractTo (const char *sep, int &store, const TokenDict *tokens, int base=0)
 
StringextractTo (const char *sep, double &store)
 
virtual bool matches (const String &value) const
 
bool matches (const Regexp &rexp)
 
int matchOffset (int index=0) const
 
int matchLength (int index=0) const
 
String matchString (int index=0) const
 
String replaceMatches (const String &templ) const
 
int matchCount () const
 
ObjListsplit (ObjList &list, char separator, bool emptyOK=true) const
 
ObjListsplit (ObjList &list, const Regexp &reg, bool emptyOK=true) const
 
ObjListsplit (char separator, bool emptyOK=true) const
 
ObjListsplit (const Regexp &reg, bool emptyOK=true) const
 
String msgEscape (char extraEsc=0) const
 
String msgUnescape (int *errptr=0, char extraEsc=0) const
 
String sqlEscape (char extraEsc=0) const
 
StringuriEscapeTo (String &buf, char extraEsc=0, const char *noEsc=0) const
 
String uriEscape (char extraEsc=0, const char *noEsc=0) const
 
StringuriUnescapeTo (String &buf, bool setPartial=false, int *errptr=0) const
 
StringuriUnescapeStr (bool setPartial=false, int *errptr=0)
 
String uriUnescape (int *errptr=0, bool setPartial=true) const
 
- Public Member Functions inherited from GenObject
 GenObject ()
 
virtual ~GenObject ()
 
virtual bool alive () const
 
virtual void destruct ()
 
virtual const StringtraceId () const
 
NamedCountergetObjCounter () const
 
NamedCountersetObjCounter (NamedCounter *counter)
 

Static Public Member Functions

static const NamedListempty ()
 
- Static Public Member Functions inherited from String
static const Stringempty ()
 
static const char * boolText (bool value)
 
static int lenUtf8 (const char *value, uint32_t maxChar=0x10ffff, bool overlong=false)
 
static bool checkBOM (const char *str)
 
static bool stripBOM (const char *&str)
 
static bool stripBOM (char *&str)
 
static unsigned int hash (const char *value, unsigned int h=0)
 
static String msgEscape (const char *str, char extraEsc=0)
 
static String msgUnescape (const char *str, int *errptr=0, char extraEsc=0)
 
static String sqlEscape (const char *str, char extraEsc=0)
 
static StringuriEscapeTo (String &buf, const char *str, char extraEsc=0, const char *noEsc=0)
 
static StringuriEscapeTo (String &buf, const char *str, const char *extraEsc, const char *noEsc=0)
 
static String uriEscape (const char *str, char extraEsc=0, const char *noEsc=0)
 
static String uriEscape (const char *str, const char *extraEsc, const char *noEsc=0)
 
static StringuriUnescapeTo (String &buf, const char *str, bool setPartial=false, int *errptr=0)
 
static String uriUnescape (const char *str, int *errptr=0, bool setPartial=true)
 
static const Stringatom (const String *&str, const char *val)
 
static unsigned int c_starts_with (const char *str, const char *what, int lenStr=-1, int lenWhat=-1, bool caseInsensitive=false)
 
static unsigned int c_ends_with (const char *str, const char *what, int lenStr=-1, int lenWhat=-1, bool caseInsensitive=false)
 
static unsigned int c_skip (const char *&str, const char *what, int lenStr=-1, int lenWhat=-1, bool caseInsensitive=false)
 
static unsigned int c_skip_chars (const char *&str, const char *what, int len=-1, bool skipFound=true)
 
static char * c_replace_chars (const char *str, const char *what, const char *repl=0, bool inPlace=false, int wLen=-1, int rLen=-1, bool *chg=0)
 
- Static Public Member Functions inherited from GenObject
static void * getObject (const String &name, const GenObject *obj)
 
static bool getObjCounting ()
 
static void setObjCounting (bool enable)
 
static NamedCountergetObjCounter (const String &name, bool create=true)
 
static ObjListgetObjCounters ()
 

Friends

class NamedIterator
 

Additional Inherited Members

- Protected Member Functions inherited from String
virtual void changed ()
 

Detailed Description

A named string container class.

This class holds a named list of named strings

Member Enumeration Documentation

◆ DumpFlags

enum DumpFlags

List dump flags

Constructor & Destructor Documentation

◆ NamedList() [1/3]

NamedList ( const char * name)
explicit

Creates a new named list.

Parameters
nameName of the list - must not be NULL or empty

◆ NamedList() [2/3]

NamedList ( const NamedList & original)

Copy constructor

Parameters
originalNamed list we are copying

◆ NamedList() [3/3]

NamedList ( const char * name,
const NamedList & original,
const String & prefix )

Creates a named list with subparameters of another list.

Parameters
nameName of the list - must not be NULL or empty
originalNamed list to copy parameters from
prefixPrefix to match and remove from parameter names

Member Function Documentation

◆ addParam() [1/10]

NamedList & addParam ( const char * name,
bool value )
inline

Add a named string in the parameter list from boolean value

Parameters
nameName of the string
valueValue of the string
Returns
Reference to this NamedList

References String::boolText().

◆ addParam() [2/10]

NamedList & addParam ( const char * name,
const char * value,
bool emptyOK = true )

Add a named string to the parameter list.

Parameters
nameName of the new string
valueValue of the new string
emptyOKTrue to always add parameter, false to skip empty values
Returns
Reference to this NamedList

◆ addParam() [3/10]

NamedList & addParam ( const char * name,
double value )
inline

Append a named string in the parameter list from floating point value

Parameters
nameName of the string
valueValue of the string
Returns
Reference to this NamedList

◆ addParam() [4/10]

NamedList & addParam ( const char * name,
int32_t value )
inline

Append a named string in the parameter list from signed integer value

Parameters
nameName of the string
valueValue of the string
Returns
Reference to this NamedList

◆ addParam() [5/10]

NamedList & addParam ( const char * name,
int64_t value )
inline

Append a named string in the parameter list from signed integer value

Parameters
nameName of the string
valueValue of the string
Returns
Reference to this NamedList

◆ addParam() [6/10]

NamedList & addParam ( const char * name,
uint32_t value )
inline

Append a named string in the parameter list from unsigned integer value

Parameters
nameName of the string
valueValue of the string
Returns
Reference to this NamedList

◆ addParam() [7/10]

NamedList & addParam ( const char * name,
uint64_t flags,
const TokenDict64 * tokens,
bool unknownflag = true )
inline

Add a named string in the parameter list from encoded flags

Parameters
nameName of the string
flagsThe flags
tokensThe dictionary containing the flags
unknownflagTrue (default) to add unknown flags
Returns
Reference to this NamedList

References String::decodeFlags().

◆ addParam() [8/10]

NamedList & addParam ( const char * name,
uint64_t value )
inline

Append a named string in the parameter list from unsigned integer value

Parameters
nameName of the string
valueValue of the string
Returns
Reference to this NamedList

◆ addParam() [9/10]

NamedList & addParam ( const char * name,
unsigned int flags,
const TokenDict * tokens,
bool unknownflag = true )
inline

Add a named string in the parameter list from encoded flags

Parameters
nameName of the string
flagsThe flags
tokensThe dictionary containing the flags
unknownflagTrue (default) to add unknown flags
Returns
Reference to this NamedList

References String::decodeFlags().

◆ addParam() [10/10]

NamedList & addParam ( NamedString * param)

Add a named string to the parameter list.

Parameters
paramParameter to add
Returns
Reference to this NamedList

Referenced by MucRoom::buildMucRoom(), and Channel::putStatus().

◆ addParamHex()

NamedList & addParamHex ( const char * name,
const void * buf,
unsigned int len,
char sep = 0 )
inline

Hexify a buffer and add it to parameters list

Parameters
nameParameter name
bufBuffer to add
lenBuffer length
sepOptiona separamtor (defaults to space)
Returns
Reference to this NamedList

References String::hexify().

◆ clearParam() [1/2]

NamedList & clearParam ( const String & name,
char childSep = 0,
const String * value = 0 )

Clears all instances of a named string in the parameter list.

Parameters
nameName of the string to remove
childSepIf set clears all child parameters in format name+childSep+anything
valueOptional pointer to string used to match parameter's value (may be a regexp)
Returns
Reference to this NamedList

Referenced by XmlElement::removeAttribute().

◆ clearParam() [2/2]

NamedList & clearParam ( NamedString * param,
bool delParam = true )

Remove a specific parameter

Parameters
paramPointer to parameter to remove
delParamTrue to destroy the parameter
Returns
Reference to this NamedList

◆ clearParams()

void clearParams ( )
inline

Clear all parameters

Referenced by XmlSaxParser::resetParsed().

◆ copyParam()

NamedList & copyParam ( const NamedList & original,
const String & name,
char childSep = 0 )

Copy a parameter from another NamedList, clears it if not present there

Parameters
originalNamedList to copy the parameter from
nameName of the string to copy or clear
childSepIf set copies all child parameters in format name+childSep+anything
Returns
Reference to this NamedList

◆ copyParams() [1/4]

NamedList & copyParams ( bool replace,
const NamedList & original,
bool copyUserData = false )

Copy all parameters from another NamedList, does not clear list first

Parameters
replaceReplace (set params) or append (add param)
originalNamedList to copy the parameters from
copyUserDataCopy user data for known objects (DataBlock, XmlElement)
Returns
Reference to this NamedList

Referenced by ClientFile::ClientFile(), SharedVars::copy(), Channel::copyChanParams(), and XmlElement::setAttributes().

◆ copyParams() [2/4]

NamedList & copyParams ( const NamedList & original)
inline

Copy all parameters from another NamedList, does not clear list first

Parameters
originalNamedList to copy the parameters from
Returns
Reference to this NamedList

◆ copyParams() [3/4]

NamedList & copyParams ( const NamedList & original,
const String & list,
char childSep = 0 )

Copy multiple parameters from another NamedList, clears it if not present there

Parameters
originalNamedList to copy the parameter from
listComma separated list of parameters to copy or clear
childSepIf set copies all child parameters in format name+childSep+anything
Returns
Reference to this NamedList

◆ copyParams() [4/4]

NamedList & copyParams ( const NamedList & original,
ObjList * list,
char childSep = 0 )

Copy multiple parameters from another NamedList, clears them if not present there

Parameters
originalNamedList to copy the parameters from
listList of objects (usually String) whose name (blanks stripped) is used as parameters names
childSepIf set copies all child parameters in format name+childSep+anything
Returns
Reference to this NamedList

◆ copySubParams()

NamedList & copySubParams ( const NamedList & original,
const String & prefix,
bool skipPrefix = true,
bool replace = false )

Copy subparameters from another list

Parameters
originalNamed list to copy parameters from
prefixPrefix to match in parameter names, must not be NULL
skipPrefixSkip over the prefix when building new parameter name
replaceSet to true to replace list parameter instead of adding a new one
Returns
Reference to this NamedList

Referenced by SharedVars::copy(), XmlElement::setAttributes(), and Channel::setChanParams().

◆ count()

unsigned int count ( ) const
inline

Get the number of non-null parameters

Returns
Count of existing named strings

◆ dump() [1/2]

void dump ( String & str,
const char * separator,
char quote = 0,
bool force = false ) const

Dumps the name and all parameters to a string in a human readable format. No escaping takes place so this method should be used for debugging only

Parameters
strString to which the name and parameters are appended
separatorSeparator string to use before each parameter
quoteString quoting character, usually single or double quote
forceTrue to insert the separator even in an empty string

◆ dump() [2/2]

bool dump ( String & str,
unsigned int flags,
const char * separator,
const char * nameSep = 0,
const char * prefix = 0,
char quote = 0 ) const

List dump

Parameters
strString to which the name and parameters are appended
flagsDump flags
separatorSeparator string to use before each parameter
nameSepName/value separator, use "=" if NULL
prefixString to be added to destination before dumped data
quoteString quoting character, usually single or double quote
Returns
True if destination string changed, false otherwise

◆ empty()

static const NamedList & empty ( )
static

A static empty named list

Returns
Reference to a static empty named list

◆ getBoolValue()

bool getBoolValue ( const String & name,
bool defvalue = false ) const

Retrieve the boolean value of a parameter.

Parameters
nameName of parameter to locate
defvalueDefault value to return if not found
Returns
The boolean value contained in the named parameter or the default

Referenced by ClientContact::local(), ClientContact::remote(), and ClientAccount::startup().

◆ getDoubleValue()

double getDoubleValue ( const String & name,
double defvalue = 0.0 ) const

Retrieve the floating point value of a parameter.

Parameters
nameName of parameter to locate
defvalueDefault value to return if not found
Returns
The number contained in the named parameter or the default

◆ getIndex() [1/2]

int getIndex ( const NamedString * param) const

Get the index of a named string in the parameter list.

Parameters
paramPointer to the parameter to locate
Returns
Index of the named string or -1 if not found

◆ getIndex() [2/2]

int getIndex ( const String & name) const

Get the index of first matching named string in the parameter list.

Parameters
nameName of parameter to locate
Returns
Index of the first matching named string or -1 if not found

◆ getInt64Value()

int64_t getInt64Value ( const String & name,
int64_t defvalue = 0,
int64_t minvalue = LLONG_MIN,
int64_t maxvalue = LLONG_MAX,
bool clamp = true ) const

Retrieve the 64-bit numeric value of a parameter.

Parameters
nameName of parameter to locate
defvalueDefault value to return if not found
minvalueMinimum value allowed for the parameter
maxvalueMaximum value allowed for the parameter
clampControl the out of bound values: true to adjust to the nearest bound, false to return the default value
Returns
The number contained in the named parameter or the default

◆ getInt64ValueDict() [1/2]

int64_t getInt64ValueDict ( const String & name,
const TokenDict64 * tokens,
int64_t defvalue = 0 ) const

Retrieve the 64bit numeric value of a parameter trying first a table lookup.

Parameters
nameName of parameter to locate
tokensA pointer to an array of tokens to try to lookup
defvalueDefault value to return if not found
Returns
The number contained in the named parameter or the default

◆ getInt64ValueDict() [2/2]

int64_t getInt64ValueDict ( const String & name,
const TokenDictStr64 * tokens,
int64_t defvalue = 0 ) const

Retrieve the 64bit numeric value of a parameter trying first a table lookup.

Parameters
nameName of parameter to locate
tokensA pointer to an array of String tokens to try to lookup
defvalueDefault value to return if not found
Returns
The number contained in the named parameter or the default

◆ getIntValue() [1/3]

int getIntValue ( const String & name,
const TokenDict * tokens,
int defvalue = 0 ) const

Retrieve the numeric value of a parameter trying first a table lookup.

Parameters
nameName of parameter to locate
tokensA pointer to an array of tokens to try to lookup
defvalueDefault value to return if not found
Returns
The number contained in the named parameter or the default

◆ getIntValue() [2/3]

int getIntValue ( const String & name,
const TokenDictStr * tokens,
int defvalue = 0 ) const

Retrieve the numeric value of a parameter trying first a table lookup.

Parameters
nameName of parameter to locate
tokensA pointer to an array of String tokens to try to lookup
defvalueDefault value to return if not found
Returns
The number contained in the named parameter or the default

◆ getIntValue() [3/3]

int getIntValue ( const String & name,
int defvalue = 0,
int minvalue = INT_MIN,
int maxvalue = INT_MAX,
bool clamp = true ) const

Retrieve the numeric value of a parameter.

Parameters
nameName of parameter to locate
defvalueDefault value to return if not found
minvalueMinimum value allowed for the parameter
maxvalueMaximum value allowed for the parameter
clampControl the out of bound values: true to adjust to the nearest bound, false to return the default value
Returns
The number contained in the named parameter or the default

◆ getObject()

virtual void * getObject ( const String & name) const
virtual

Get a pointer to a derived class given that class name

Parameters
nameName of the class we are asking for
Returns
Pointer to the requested class or NULL if this object doesn't implement it

Reimplemented from String.

Reimplemented in Message.

◆ getParam() [1/2]

NamedString * getParam ( const String & name) const

Locate a named string in the parameter list.

Parameters
nameName of parameter to locate
Returns
A pointer to the named string or NULL.

Referenced by XmlElement::getAttribute(), ClientContact::haveShare(), and MatchingItemRandom::runMatchListParam().

◆ getParam() [2/2]

NamedString * getParam ( unsigned int index) const

Locate a named string in the parameter list.

Parameters
indexIndex of the parameter to locate
Returns
A pointer to the named string or NULL.

◆ getUInt64Value()

uint64_t getUInt64Value ( const String & name,
uint64_t defvalue = 0,
uint64_t minvalue = 0,
uint64_t maxvalue = ULLONG_MAX,
bool clamp = true ) const

Retrieve the unsigned 64-bit numeric value of a parameter.

Parameters
nameName of parameter to locate
defvalueDefault value to return if not found
minvalueMinimum value allowed for the parameter
maxvalueMaximum value allowed for the parameter
clampControl the out of bound values: true to adjust to the nearest bound, false to return the default value
Returns
The number contained in the named parameter or the default

◆ getValue()

const char * getValue ( const String & name,
const char * defvalue = 0 ) const

Retrieve the value of a named parameter.

Parameters
nameName of parameter to locate
defvalueDefault value to return if not found
Returns
The string contained in the named parameter or the default

Referenced by XmlElement::attribute().

◆ hasSubParams()

bool hasSubParams ( const char * prefix) const

Check if we have a parameter that starts with prefix

Parameters
prefixPrefix to match in parameter name, must not be NULL
Returns
True if a parameter starts with prefix

◆ length()

unsigned int length ( ) const
inline

Get the number of parameters

Returns
Count of named strings

◆ operator=()

NamedList & operator= ( const NamedList & value)

Assignment operator

Parameters
valueNew name and parameters to assign
Returns
Reference to this NamedList

Referenced by DataFormat::operator=().

◆ operator[]()

const String & operator[] ( const String & name) const

Parameter access operator

Parameters
nameName of the parameter to return
Returns
String value of the parameter, String::empty() if missing

◆ paramList() [1/2]

ObjList * paramList ( )
inline

Get the parameters list

Returns
Pointer to the parameters list

◆ paramList() [2/2]

const ObjList * paramList ( ) const
inline

Get the parameters list

Returns
Pointer to the parameters list

◆ replaceParams()

int replaceParams ( String & str,
bool sqlEsc = false,
char extraEsc = 0 ) const

Replaces all ${paramname} in a String with the corresponding parameters

Parameters
strString in which the replacements will be made
sqlEscTrue to apply SQL escaping to parameter values
extraEscCharacter to escape other than the SQL default ones
Returns
Number of replacements made, -1 if an error occured

◆ setParam() [1/10]

NamedList & setParam ( const String & name,
bool value )
inline

Set a named string in the parameter list from boolean value

Parameters
nameName of the string
valueValue of the string
Returns
Reference to this NamedList

References String::boolText().

◆ setParam() [2/10]

NamedList & setParam ( const String & name,
const char * value )

Set a named string in the parameter list.

Parameters
nameName of the string
valueValue of the string
Returns
Reference to this NamedList

◆ setParam() [3/10]

NamedList & setParam ( const String & name,
double value )

Set a named string in the parameter list from floating point value

Parameters
nameName of the string
valueValue of the string
Returns
Reference to this NamedList

◆ setParam() [4/10]

NamedList & setParam ( const String & name,
int32_t value )

Set a named string in the parameter list from signed integer value

Parameters
nameName of the string
valueValue of the string
Returns
Reference to this NamedList

◆ setParam() [5/10]

NamedList & setParam ( const String & name,
int64_t value )

Set a named string in the parameter list from signed integer value

Parameters
nameName of the string
valueValue of the string
Returns
Reference to this NamedList

◆ setParam() [6/10]

NamedList & setParam ( const String & name,
uint32_t value )

Set a named string in the parameter list from unsigned integer value

Parameters
nameName of the string
valueValue of the string
Returns
Reference to this NamedList

◆ setParam() [7/10]

NamedList & setParam ( const String & name,
uint64_t flags,
const TokenDict64 * tokens,
bool unknownflag = true )

Set a named string in the parameter list from encoded flags

Parameters
nameName of the string
flagsThe flags
tokensThe dictionary containing the flags
unknownflagTrue (default) to add unknown flags
Returns
Reference to this NamedList

◆ setParam() [8/10]

NamedList & setParam ( const String & name,
uint64_t value )

Set a named string in the parameter list from unsigned integer value

Parameters
nameName of the string
valueValue of the string
Returns
Reference to this NamedList

◆ setParam() [9/10]

NamedList & setParam ( const String & name,
unsigned int flags,
const TokenDict * tokens,
bool unknownflag = true )

Set a named string in the parameter list from encoded flags

Parameters
nameName of the string
flagsThe flags
tokensThe dictionary containing the flags
unknownflagTrue (default) to add unknown flags
Returns
Reference to this NamedList

◆ setParam() [10/10]

NamedList & setParam ( NamedString * param)

Set a named string in the parameter list.

Parameters
paramParameter to set or add
Returns
Reference to this NamedList

Referenced by Channel::putStatus(), XmlElement::setAttribute(), XmlElement::setAttributeValid(), ClientContact::setLocal(), ClientContact::setRemote(), and ClientAccount::startup().

◆ setParamHex()

NamedList & setParamHex ( const String & name,
const void * buf,
unsigned int len,
char sep = 0 )

Set a named string in the parameter list.

Parameters
nameName of the string
bufBuffer to hexify
lenBuffer length
sepOptional separator
Returns
Reference to this NamedList

The documentation for this class was generated from the following file: