diff options
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/include/qpid/messaging/Address.h | 2 | ||||
-rw-r--r-- | cpp/include/qpid/messaging/Message.h | 2 | ||||
-rw-r--r-- | cpp/include/qpid/types/Variant.h | 2 | ||||
-rw-r--r-- | cpp/src/qpid/messaging/Message.cpp | 1 | ||||
-rw-r--r-- | cpp/src/qpid/messaging/MessageImpl.cpp | 1 | ||||
-rw-r--r-- | cpp/src/qpid/messaging/MessageImpl.h | 1 | ||||
-rw-r--r-- | cpp/src/tests/MessagingSessionTests.cpp | 2 |
7 files changed, 11 insertions, 0 deletions
diff --git a/cpp/include/qpid/messaging/Address.h b/cpp/include/qpid/messaging/Address.h index 2e36d0ae22..bebbfc72f6 100644 --- a/cpp/include/qpid/messaging/Address.h +++ b/cpp/include/qpid/messaging/Address.h @@ -155,7 +155,9 @@ class Address AddressImpl* impl; }; +#ifndef SWIG QPID_MESSAGING_EXTERN std::ostream& operator<<(std::ostream& out, const Address& address); +#endif }} // namespace qpid::messaging diff --git a/cpp/include/qpid/messaging/Message.h b/cpp/include/qpid/messaging/Message.h index ba58b5887c..d48af35cc0 100644 --- a/cpp/include/qpid/messaging/Message.h +++ b/cpp/include/qpid/messaging/Message.h @@ -100,6 +100,8 @@ class Message QPID_MESSAGING_EXTERN const char* getContentPtr() const; /** Get the size of content in bytes. */ QPID_MESSAGING_EXTERN size_t getContentSize() const; + + QPID_MESSAGING_EXTERN void setProperty(const std::string&, const qpid::types::Variant&); private: MessageImpl* impl; friend struct MessageImplAccess; diff --git a/cpp/include/qpid/types/Variant.h b/cpp/include/qpid/types/Variant.h index 7b43422261..3ed1db4452 100644 --- a/cpp/include/qpid/types/Variant.h +++ b/cpp/include/qpid/types/Variant.h @@ -162,10 +162,12 @@ class Variant VariantImpl* impl; }; +#ifndef SWIG QPID_TYPES_EXTERN std::ostream& operator<<(std::ostream& out, const Variant& value); QPID_TYPES_EXTERN std::ostream& operator<<(std::ostream& out, const Variant::Map& map); QPID_TYPES_EXTERN std::ostream& operator<<(std::ostream& out, const Variant::List& list); QPID_TYPES_EXTERN bool operator==(const Variant& a, const Variant& b); +#endif }} // namespace qpid::types #endif /*!QPID_TYPES_VARIANT_H*/ diff --git a/cpp/src/qpid/messaging/Message.cpp b/cpp/src/qpid/messaging/Message.cpp index 524af023e1..83cdfd3c55 100644 --- a/cpp/src/qpid/messaging/Message.cpp +++ b/cpp/src/qpid/messaging/Message.cpp @@ -68,6 +68,7 @@ void Message::setRedelivered(bool redelivered) { impl->redelivered = redelivered const Variant::Map& Message::getProperties() const { return impl->getHeaders(); } Variant::Map& Message::getProperties() { return impl->getHeaders(); } +void Message::setProperty(const std::string& k, const qpid::types::Variant& v) { impl->setHeader(k,v); } void Message::setContent(const std::string& c) { impl->setBytes(c); } void Message::setContent(const char* chars, size_t count) { impl->setBytes(chars, count); } diff --git a/cpp/src/qpid/messaging/MessageImpl.cpp b/cpp/src/qpid/messaging/MessageImpl.cpp index 6138ab4a2c..0601800e46 100644 --- a/cpp/src/qpid/messaging/MessageImpl.cpp +++ b/cpp/src/qpid/messaging/MessageImpl.cpp @@ -56,6 +56,7 @@ const std::string& MessageImpl::getContentType() const { return contentType; } const Variant::Map& MessageImpl::getHeaders() const { return headers; } Variant::Map& MessageImpl::getHeaders() { return headers; } +void MessageImpl::setHeader(const std::string& key, const qpid::types::Variant& val) { headers[key] = val; } //should these methods be on MessageContent? void MessageImpl::setBytes(const std::string& c) { bytes = c; } diff --git a/cpp/src/qpid/messaging/MessageImpl.h b/cpp/src/qpid/messaging/MessageImpl.h index 7793fc7943..57df6b3fda 100644 --- a/cpp/src/qpid/messaging/MessageImpl.h +++ b/cpp/src/qpid/messaging/MessageImpl.h @@ -60,6 +60,7 @@ struct MessageImpl const qpid::types::Variant::Map& getHeaders() const; qpid::types::Variant::Map& getHeaders(); + void setHeader(const std::string& key, const qpid::types::Variant& val); void setBytes(const std::string& bytes); void setBytes(const char* chars, size_t count); diff --git a/cpp/src/tests/MessagingSessionTests.cpp b/cpp/src/tests/MessagingSessionTests.cpp index d6992fc049..d75ff9fdfd 100644 --- a/cpp/src/tests/MessagingSessionTests.cpp +++ b/cpp/src/tests/MessagingSessionTests.cpp @@ -83,6 +83,7 @@ QPID_AUTO_TEST_CASE(testSendReceiveHeaders) Message out("test-message"); for (uint i = 0; i < 10; ++i) { out.getProperties()["a"] = i; + out.setProperty("b", i + 100); sender.send(out); } Receiver receiver = fix.session.createReceiver(fix.queue); @@ -91,6 +92,7 @@ QPID_AUTO_TEST_CASE(testSendReceiveHeaders) BOOST_CHECK(receiver.fetch(in, Duration::SECOND * 5)); BOOST_CHECK_EQUAL(in.getContent(), out.getContent()); BOOST_CHECK_EQUAL(in.getProperties()["a"].asUint32(), i); + BOOST_CHECK_EQUAL(in.getProperties()["b"].asUint32(), i + 100); fix.session.acknowledge(); } } |