33 struct Url :
public std::vector<Address> {
47 explicit Url(
const std::string& url) {
parse(url.c_str()); }
49 explicit Url(
const std::string& url,
const std::string& defaultProtocol) {
parse(url.c_str(), defaultProtocol); }
82 mutable std::string cache;
83 std::string user, pass;
#define QPID_COMMON_EXTERN
Url & operator=(const std::string &s)
void parse(const char *url)
Replace contents with parsed url if the url is invalid.
Url(const Address &addr)
URL containing a single address.
Contains the protocol address of an AMQP broker.
bool operator!=(const Address &x, const Address &y)
bool operator==(const Address &x, const Address &y)
void setPass(const std::string &)
Url(const std::string &url)
Parse url, throw Invalid if invalid.
An AMQP URL contains a list of addresses.
Base class for Qpid runtime exceptions.
Url(const char *url)
Parse url, throw Invalid if invalid.
QPID_COMMON_INLINE_EXTERN void parse(const std::string &url)
Invalid(const std::string &s)
Url & operator=(const char *s)
void setUser(const std::string &)
std::string getPass() const
static void addProtocol(const std::string &tag)
Add a protocol tag to be recognzed in URLs.
std::istream & operator>>(std::istream &is, Url &url)
std::string getUser() const
std::ostream & operator<<(std::ostream &os, const Address &addr)
Url(const std::string &url, const std::string &defaultProtocol)
Parse url, throw Invalid if invalid.
#define QPID_COMMON_INLINE_EXTERN
void parseNoThrow(const char *url)
Replace contesnts with parsed URL.
void throwIfEmpty() const
Throw Invalid if the URL does not contain any addresses.
std::string str() const
Convert to string form.