22 #ifndef __TERRALIB_COMMON_INTERNAL_AUTHORITY_H
23 #define __TERRALIB_COMMON_INTERNAL_AUTHORITY_H
24 #include "../Config.h"
63 bool empty()
const {
return is_null();}
64 bool is_null()
const {
return host_.empty();}
65 const std::string&
host()
const {
return host_;}
67 unsigned short port()
const {
return port_;}
68 void port(
unsigned short p) {port_ = p;}
69 void setDefaultPort(
const std::string&
scheme);
70 int getDefaultPort(
const std::string&
scheme);
71 void setLogin(
const std::string& login);
72 std::string getLogin()
const;
73 std::string getEncodedLogin()
const;
74 void setPassword(
const std::string& password);
75 std::string getPassword()
const;
76 std::string getEncodedPassword()
const;
77 std::string string()
const;
84 void loadDefaultPorts();
98 bool TECOMMONEXPORT parse(std::string::const_iterator& first, std::string::const_iterator last, authority& v);
99 bool parseLoginPassword(std::string::const_iterator& first, std::string::const_iterator last, authority& v);
bool decodeAndConcate(std::string::const_iterator &f, std::string &s)
std::ostream & operator<<(std::ostream &os, const authority &v)
Stream out URI authority.
bool is_null() const
Test if null/empty.
const std::string & host() const
Get host.
URI authority component (without userinfo).
bool empty() const
Test if null/empty.
#define TECOMMONEXPORT
You can use this macro in order to export/import classes and functions from this module.
static std::map< std::string, unsigned short > protocol2DefaultPort_
Protocol to default port. Added by Lauro.
bool parse(std::string::const_iterator &first, std::string::const_iterator last, authority &v)
Parse URI authority, returning whether found or not and advancing first and setting authority if foun...
void port(unsigned short p)
Set port. Added by Lauro.
unsigned short port() const
Get port (0 if none).
static const char PORT_SEPARATOR_CHAR
port separator (':')
host_type_e host_type() const
Get host type.
bool encodeAndConcate(std::string::const_iterator &f, std::string &s)
bool parseLoginPassword(std::string::const_iterator &first, std::string::const_iterator last, authority &v)
static const char IP_LITERAL_BEGIN_CHAR
IP literal begin ('[')
static const char IP_LITERAL_END_CHAR
IP literal end (']')