Yate
|
A named string container class. More...
#include <yateclass.h>
Public Member Functions | |
NamedList (const char *name) | |
NamedList (const NamedList &original) | |
NamedList (const char *name, const NamedList &original, const String &prefix) | |
NamedList & | operator= (const NamedList &value) |
virtual void * | getObject (const String &name) const |
unsigned int | length () const |
unsigned int | count () const |
void | clearParams () |
NamedList & | addParam (NamedString *param) |
NamedList & | addParam (const char *name, const char *value, bool emptyOK=true) |
NamedList & | setParam (NamedString *param) |
NamedList & | setParam (const String &name, const char *value) |
NamedList & | clearParam (const String &name, char childSep=0) |
NamedList & | clearParam (NamedString *param, bool delParam=true) |
NamedList & | copyParam (const NamedList &original, const String &name, char childSep=0) |
NamedList & | copyParams (const NamedList &original) |
NamedList & | copyParams (const NamedList &original, ObjList *list, char childSep=0) |
NamedList & | copyParams (const NamedList &original, const String &list, char childSep=0) |
NamedList & | copySubParams (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 |
NamedString * | getParam (const String &name) const |
NamedString * | getParam (unsigned int index) const |
const String & | operator[] (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 |
int64_t | getInt64Value (const String &name, int64_t defvalue=0, int64_t minvalue=LLONG_MIN, int64_t maxvalue=LLONG_MAX, bool clamp=true) 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 |
ObjList * | paramList () |
const ObjList * | paramList () const |
![]() | |
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 |
const String & | decodeFlags (unsigned int flags, const TokenDict *tokens, bool unknownflag=true) |
const String & | decodeFlags (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 |
String & | trimBlanks () |
String & | trimSpaces () |
virtual const String & | toString () 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 |
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 |
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 |
String & | toUpper () |
String & | toLower () |
char | operator[] (signed int index) const |
char | operator[] (unsigned int index) const |
operator const char * () const | |
String & | assign (const char *value, int len=-1) |
String & | assign (char value, unsigned int repeat=1) |
String & | hexify (void *data, unsigned int len, char sep=0, bool upCase=false) |
String & | operator= (const String &value) |
String & | operator= (const String *value) |
String & | operator= (const char *value) |
String & | operator= (char value) |
String & | operator= (int32_t value) |
String & | operator= (uint32_t value) |
String & | operator= (int64_t value) |
String & | operator= (uint64_t value) |
String & | operator= (bool value) |
String & | operator= (double value) |
String & | operator+= (const char *value) |
String & | operator+= (char value) |
String & | operator+= (int32_t value) |
String & | operator+= (uint32_t value) |
String & | operator+= (int64_t value) |
String & | operator+= (uint64_t value) |
String & | operator+= (bool value) |
String & | operator+= (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 |
String & | operator<< (const char *value) |
String & | operator<< (char value) |
String & | operator<< (int32_t value) |
String & | operator<< (uint32_t value) |
String & | operator<< (int64_t value) |
String & | operator<< (uint64_t value) |
String & | operator<< (bool value) |
String & | operator<< (double value) |
String & | operator>> (const char *skip) |
String & | operator>> (char &store) |
String & | operator>> (UChar &store) |
String & | operator>> (int &store) |
String & | operator>> (unsigned int &store) |
String & | operator>> (bool &store) |
String & | append (const char *value, int len) |
String & | append (const char *value, const char *separator=0, bool force=false) |
String & | append (const ObjList *list, const char *separator=0, bool force=false) |
String & | append (const ObjList &list, const char *separator=0, bool force=false) |
String & | append (double value, unsigned int decimals=3) |
String & | printf (const char *format,...) |
String & | printf (unsigned int length, const char *format,...) |
String & | appendFixed (unsigned int fixedLength, const char *str, unsigned int len=-1, char fill= ' ', int align=Left) |
String & | appendFixed (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) |
String & | extractTo (const char *sep, String &store) |
String & | extractTo (const char *sep, bool &store) |
String & | extractTo (const char *sep, int &store, int base=0) |
String & | extractTo (const char *sep, int &store, const TokenDict *tokens, int base=0) |
String & | extractTo (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 |
ObjList * | split (char separator, bool emptyOK=true) const |
ObjList * | split (const Regexp ®, 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 |
String | uriEscape (char extraEsc=0, const char *noEsc=0) const |
String | uriUnescape (int *errptr=0) const |
![]() | |
GenObject () | |
virtual | ~GenObject () |
virtual bool | alive () const |
virtual void | destruct () |
virtual const String & | traceId () const |
NamedCounter * | getObjCounter () const |
NamedCounter * | setObjCounter (NamedCounter *counter) |
Static Public Member Functions | |
static const NamedList & | empty () |
![]() | |
static const String & | empty () |
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 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 String | uriUnescape (const char *str, int *errptr=0) |
static const String * | atom (const String *&str, const char *val) |
![]() | |
static void * | getObject (const String &name, const GenObject *obj) |
static bool | getObjCounting () |
static void | setObjCounting (bool enable) |
static NamedCounter * | getObjCounter (const String &name, bool create=true) |
static ObjList & | getObjCounters () |
Friends | |
class | NamedIterator |
Additional Inherited Members | |
![]() | |
enum | Align { Left = 0, Center, Right } |
![]() | |
virtual void | changed () |
A named string container class.
This class holds a named list of named strings
|
explicit |
Creates a new named list.
name | Name of the list - must not be NULL or empty |
Copy constructor
original | Named list we are copying |
Creates a named list with subparameters of another list.
name | Name of the list - must not be NULL or empty |
original | Named list to copy parameters from |
prefix | Prefix to match and remove from parameter names |
NamedList& addParam | ( | NamedString * | param | ) |
Add a named string to the parameter list.
param | Parameter to add |
Referenced by MucRoom::buildMucRoom(), and Channel::putStatus().
NamedList& addParam | ( | const char * | name, |
const char * | value, | ||
bool | emptyOK = true |
||
) |
Add a named string to the parameter list.
name | Name of the new string |
value | Value of the new string |
emptyOK | True to always add parameter, false to skip empty values |
Clears all instances of a named string in the parameter list.
name | Name of the string to remove |
childSep | If set clears all child parameters in format name+childSep+anything |
Referenced by XmlElement::removeAttribute().
NamedList& clearParam | ( | NamedString * | param, |
bool | delParam = true |
||
) |
Remove a specific parameter
param | Pointer to parameter to remove |
delParam | True to destroy the parameter |
|
inline |
Copy all parameters from another NamedList, does not clear list first
original | NamedList to copy the parameters from |
Referenced by ClientFile::ClientFile(), and Channel::copyChanParams().
Copy multiple parameters from another NamedList, clears them if not present there
original | NamedList to copy the parameters from |
list | List of objects (usually String) whose name (blanks stripped) is used as parameters names |
childSep | If set copies all child parameters in format name+childSep+anything |
Copy multiple parameters from another NamedList, clears it if not present there
original | NamedList to copy the parameter from |
list | Comma separated list of parameters to copy or clear |
childSep | If set copies all child parameters in format name+childSep+anything |
NamedList& copySubParams | ( | const NamedList & | original, |
const String & | prefix, | ||
bool | skipPrefix = true , |
||
bool | replace = false |
||
) |
Copy subparameters from another list
original | Named list to copy parameters from |
prefix | Prefix to match in parameter names, must not be NULL |
skipPrefix | Skip over the prefix when building new parameter name |
replace | Set to true to replace list parameter instead of adding a new one |
Referenced by Channel::setChanParams().
|
inline |
Get the number of non-null parameters
References ObjList::count().
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
|
static |
A static empty named list
bool getBoolValue | ( | const String & | name, |
bool | defvalue = false |
||
) | const |
Retrieve the boolean value of a parameter.
name | Name of parameter to locate |
defvalue | Default value to return if not found |
Referenced by ClientContact::local(), ClientContact::remote(), and ClientAccount::startup().
double getDoubleValue | ( | const String & | name, |
double | defvalue = 0.0 |
||
) | const |
Retrieve the floating point value of a parameter.
name | Name of parameter to locate |
defvalue | Default value to return if not found |
int getIndex | ( | const NamedString * | param | ) | const |
Get the index of a named string in the parameter list.
param | Pointer to the parameter to locate |
int getIndex | ( | const String & | name | ) | const |
Get the index of first matching named string in the parameter list.
name | Name of parameter to locate |
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.
name | Name of parameter to locate |
defvalue | Default value to return if not found |
minvalue | Minimum value allowed for the parameter |
maxvalue | Maximum value allowed for the parameter |
clamp | Control the out of bound values: true to adjust to the nearest bound, false to return the default value |
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.
name | Name of parameter to locate |
defvalue | Default value to return if not found |
minvalue | Minimum value allowed for the parameter |
maxvalue | Maximum value allowed for the parameter |
clamp | Control the out of bound values: true to adjust to the nearest bound, false to return the default value |
Retrieve the numeric value of a parameter trying first a table lookup.
name | Name of parameter to locate |
tokens | A pointer to an array of tokens to try to lookup |
defvalue | Default value to return if not found |
|
virtual |
NamedString* getParam | ( | const String & | name | ) | const |
Locate a named string in the parameter list.
name | Name of parameter to locate |
Referenced by XmlElement::getAttribute(), and ClientContact::haveShare().
NamedString* getParam | ( | unsigned int | index | ) | const |
Locate a named string in the parameter list.
index | Index of the parameter to locate |
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.
name | Name of parameter to locate |
defvalue | Default value to return if not found |
minvalue | Minimum value allowed for the parameter |
maxvalue | Maximum value allowed for the parameter |
clamp | Control the out of bound values: true to adjust to the nearest bound, false to return the default value |
const char* getValue | ( | const String & | name, |
const char * | defvalue = 0 |
||
) | const |
Retrieve the value of a named parameter.
name | Name of parameter to locate |
defvalue | Default value to return if not found |
Referenced by XmlElement::attribute().
bool hasSubParams | ( | const char * | prefix | ) | const |
Check if we have a parameter that starts with prefix
prefix | Prefix to match in parameter name, must not be NULL |
|
inline |
Assignment operator
value | New name and parameters to assign |
Referenced by DataFormat::operator=().
Parameter access operator
name | Name of the parameter to return |
|
inline |
Get the parameters list
|
inline |
Get the parameters list
int replaceParams | ( | String & | str, |
bool | sqlEsc = false , |
||
char | extraEsc = 0 |
||
) | const |
Replaces all ${paramname} in a String with the corresponding parameters
str | String in which the replacements will be made |
sqlEsc | True to apply SQL escaping to parameter values |
extraEsc | Character to escape other than the SQL default ones |
|
inline |
Set a named string in the parameter list.
param | Parameter to set or add |
References ObjList::setUnique().
Referenced by Channel::putStatus(), XmlElement::setAttribute(), XmlElement::setAttributeValid(), ClientContact::setLocal(), ClientContact::setRemote(), and ClientAccount::startup().
Set a named string in the parameter list.
name | Name of the string |
value | Value of the string |