# class URI | Encapsulation for an URI. More...
Full name | `TelEngine::URI`
Definition | `#include <yateclass.h>`
Inherits | TelEngine::String [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Methods

- URI ()
- URI (const URI& uri)
- explicit URI (const String& uri)
- explicit URI (const char* uri)
- URI (const char* proto, const char* user, const char* host, int port = 0, const char* desc = 0)
- void parse () const
- inline URI& operator= (const URI& value)
- inline URI& operator= (const String& value)
- inline URI& operator= (const char* value)
- inline const String& getDescription () const
- inline const String& getProtocol () const
- inline const String& getUser () const
- inline const String& getHost () const
- inline int getPort () const
- inline const String& getExtra () const

#### Protected Methods

- virtual void changed ()

#### Protected Members

- mutable bool m_parsed
- mutable String m_desc
- mutable String m_proto
- mutable String m_user
- mutable String m_host
- mutable String m_extra
- mutable int m_port

## Detailed Description

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

URI () | ### URI

Empty URI constructor

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

Copy constructor

Parameters:

uri | Original URI to copy

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

Constructor from a String that gets parsed later

Parameters:

uri | String form of the URI

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

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) | ### URI

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)

void parse () | ### parse

[const]

Calling this method ensures the string URI is parsed into components

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

Assignment operator from URI

Parameters:

value | New URI value to assign

Reimplemented from String.

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

Assignment operator from String

Parameters:

value | New URI value to assign

Reimplemented from String.

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

Assignment operator from C string

Parameters:

value | New URI value to assign

Reimplemented from String.

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

[const]

Access method to the description part of the URI

Returns: Description part of the URI

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

[const]

Access method to the protocol part of the URI

Returns: Protocol part of the URI

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

[const]

Access method to the user part of the URI

Returns: User component of the URI

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

[const]

Access method to the host part of the URI

Returns: Hostname part of the URI

inline int getPort () | ### getPort

[const]

Access method to the port part of the URI

Returns: Port of the URI, zero if not set

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

[const]

Access method to the additional text part of the URI

Returns: Additional text of the URI including the separator

void changed () | ### 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.

mutable bool m_parsed | ### m_parsed

[protected]

mutable String m_desc | ### m_desc

[protected]

mutable String m_proto | ### m_proto

[protected]

mutable String m_user | ### m_user

[protected]

mutable String m_host | ### m_host

[protected]

mutable String m_extra | ### m_extra

[protected]

mutable int m_port | ### m_port

[protected]

Generated by: paulc on bussard on Fri Dec 21 16:28:34 2012, using kdoc 2.0a54.