25 #include "./internal/pn_unique_ptr.hpp"
28 #include <proton/type_compat.h>
43 PN_CPP_DEPRECATED(
"Use a third-party URL library")
47 PN_CPP_EXTERN
explicit url_error(
const std::string&);
65 class PN_CPP_DEPRECATED("Use a third-party URL library")
url {
67 static const std::string
AMQP;
77 PN_CPP_EXTERN
url(
const std::string& url_str);
88 PN_CPP_EXTERN
url(
const std::string& url_str,
bool defaults);
92 PN_CPP_EXTERN
url(
const url&);
97 PN_CPP_EXTERN
url& operator=(
const url&);
100 PN_CPP_EXTERN
bool empty()
const;
103 PN_CPP_EXTERN
operator std::string()
const;
110 PN_CPP_EXTERN std::string scheme()
const;
112 PN_CPP_EXTERN std::string user()
const;
115 PN_CPP_EXTERN std::string password()
const;
117 PN_CPP_EXTERN std::string host()
const;
119 PN_CPP_EXTERN std::string port()
const;
121 PN_CPP_EXTERN uint16_t port_int()
const;
123 PN_CPP_EXTERN std::string host_port()
const;
128 PN_CPP_EXTERN std::string path()
const;
137 internal::pn_unique_ptr<impl> impl_;
141 friend PN_CPP_EXTERN std::ostream&
operator<<(std::ostream&,
const url&);
149 friend PN_CPP_EXTERN std::istream&
operator>>(std::istream&,
url&);
156 #endif // PROTON_URL_HPP