Yate

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
URI Class Reference

Encapsulation for an URI. More...

`#include <yateclass.h>`

Inheritance diagram for URI:

## Public Member Functions
| URI ()
| URI (const URI &uri)
| URI (const String &uri)
| URI (const char *uri)
| URI (const char *proto, const char *user, const char *host, int port=0, const char *desc=0)
void | parse () const
URI & | operator= (const URI &value)
URI & | operator= (const String &value)
URI & | operator= (const char *value)
const String & | getDescription () const
const String & | getProtocol () const
const String & | getUser () const
const String & | getHost () const
int | getPort () const
const String & | getExtra () 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 ()
virtual void * | getObject (const String &name) const
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 &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
String | uriEscape (char extraEsc=0, const char *noEsc=0) const
String | uriUnescape (int *errptr=0) const
Public Member Functions inherited from GenObject
| GenObject ()
virtual | ~GenObject ()
virtual bool | alive () const
virtual void | destruct ()
virtual const String & | traceId () const
NamedCounter * | getObjCounter () const
NamedCounter * | setObjCounter (NamedCounter *counter)

## Protected Member Functions
virtual void | changed ()

## Protected Attributes
bool | m_parsed
String | m_desc
String | m_proto
String | m_user
String | m_host
String | m_extra
int | m_port

## Additional Inherited Members
Public Types inherited from String
enum | Align { Left = 0, Center, Right }
Static Public Member Functions inherited from String
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 Public Member Functions inherited from GenObject
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 ()

## Detailed Description

Encapsulation for an URI.

Uniform Resource Identifier encapsulation and parser. For efficiency reason the parsing is delayed as long as possible

## Constructor & Destructor Documentation

URI | ( |  | ) |

Empty URI constructor

URI | ( | const URI & | uri | ) |

Copy constructor

Parameters

  uri | Original URI to copy

URI | ( | const String & | uri | ) |
| explicit

Constructor from a String that gets parsed later

Parameters

  uri | String form of the URI

URI | ( | const char * | uri | ) |
| explicit

Constructor from a C string that gets parsed later

Parameters

  uri | String form of the URI

URI | ( | const char * | proto,
|  | const char * | user,
|  | const char * | host,
|  | int | port = `0`,
|  | const char * | desc = `0`
| ) |  |

Constructor from URI components

Parameters

  proto | Protocol - something like "http", "sip", etc.
  user | User component of the URI
  host | Hostname component of the URI
  port | Port part of the URI (optional)
  desc | Description part in front of the URI (optional)

## Member Function Documentation

virtual void changed | ( |  | ) |
| protected virtual

Notification method called whenever the string URI has changed. The default behaviour is to invalidate the parsed flag and cal the method inherited from String.

Reimplemented from String.

const String& getDescription | ( |  | ) | const
| inline

Access method to the description part of the URI

Returns
  Description part of the URI

References URI::parse().

const String& getExtra | ( |  | ) | const
| inline

Access method to the additional text part of the URI

Returns
  Additional text of the URI including the separator

References URI::parse().

const String& getHost | ( |  | ) | const
| inline

Access method to the host part of the URI

Returns
  Hostname part of the URI

References URI::parse().

int getPort | ( |  | ) | const
| inline

Access method to the port part of the URI

Returns
  Port of the URI, zero if not set

References URI::parse().

const String& getProtocol | ( |  | ) | const
| inline

Access method to the protocol part of the URI

Returns
  Protocol part of the URI

References URI::parse().

const String& getUser | ( |  | ) | const
| inline

Access method to the user part of the URI

Returns
  User component of the URI

References URI::parse().

URI& operator= | ( | const URI & | value | ) |
| inline

Assignment operator from URI

Parameters

  value | New URI value to assign

References String::operator=().

URI& operator= | ( | const String & | value | ) |
| inline

Assignment operator from String

Parameters

  value | New URI value to assign

References String::operator=().

URI& operator= | ( | const char * | value | ) |
| inline

Assignment operator from C string

Parameters

  value | New URI value to assign

References String::operator=().

void parse | ( |  | ) | const

Calling this method ensures the string URI is parsed into components

Referenced by URI::getDescription(), URI::getExtra(), URI::getHost(), URI::getPort(), URI::getProtocol(), and URI::getUser().

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

- yateclass.h