summaryrefslogtreecommitdiff
path: root/cpp/include/qpid/messaging/Address.h
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2010-03-31 16:17:17 +0000
committerGordon Sim <gsim@apache.org>2010-03-31 16:17:17 +0000
commitf6f1900eb98cc1773a88a3ec309afa646438a384 (patch)
tree68e50e7aa1819afd283d73700965b539355a779d /cpp/include/qpid/messaging/Address.h
parent887281838e4bf7825189ce3b0a8d7509789e6a08 (diff)
downloadqpid-python-f6f1900eb98cc1773a88a3ec309afa646438a384.tar.gz
QPID-664: made changes suggested by Alan Conway, also moved 0-10 map/list codecs to common lib
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@929606 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/include/qpid/messaging/Address.h')
-rw-r--r--cpp/include/qpid/messaging/Address.h22
1 files changed, 18 insertions, 4 deletions
diff --git a/cpp/include/qpid/messaging/Address.h b/cpp/include/qpid/messaging/Address.h
index 307e0cfa8d..34a186c9ce 100644
--- a/cpp/include/qpid/messaging/Address.h
+++ b/cpp/include/qpid/messaging/Address.h
@@ -30,11 +30,18 @@
namespace qpid {
namespace messaging {
+/**
+ * Thrown when a syntactically correct address cannot be resolved or
+ * used.
+ */
struct InvalidAddress : public qpid::Exception
{
InvalidAddress(const std::string& msg);
};
+/**
+ * Thrown when an address string with inalid sytanx is used.
+ */
struct MalformedAddress : public qpid::Exception
{
MalformedAddress(const std::string& msg);
@@ -117,6 +124,8 @@ class AddressImpl;
* merely browse the messages. Valid values are 'consume' and
* 'browse'</td></tr>
* </table>
+ *
+ * An address has value semantics.
*/
class Address
{
@@ -132,17 +141,22 @@ class Address
QPID_CLIENT_EXTERN void setName(const std::string&);
QPID_CLIENT_EXTERN const std::string& getSubject() const;
QPID_CLIENT_EXTERN void setSubject(const std::string&);
- QPID_CLIENT_EXTERN bool hasSubject() const;
QPID_CLIENT_EXTERN const qpid::types::Variant::Map& getOptions() const;
QPID_CLIENT_EXTERN qpid::types::Variant::Map& getOptions();
QPID_CLIENT_EXTERN void setOptions(const qpid::types::Variant::Map&);
QPID_CLIENT_EXTERN std::string getType() const;
+ /**
+ * The type of and addressed node influences how receivers and
+ * senders are constructed for it. It also affects how a reply-to
+ * address is encoded. If the type is not specified in the address
+ * itself, it will be automatically determined by querying the
+ * broker. The type can be explicitly set to prevent this if
+ * needed.
+ */
QPID_CLIENT_EXTERN void setType(const std::string&);
- QPID_CLIENT_EXTERN const qpid::types::Variant& getOption(const std::string& key) const;
-
- QPID_CLIENT_EXTERN std::string toStr() const;
+ QPID_CLIENT_EXTERN std::string str() const;
QPID_CLIENT_EXTERN operator bool() const;
QPID_CLIENT_EXTERN bool operator !() const;
private: