diff options
Diffstat (limited to 'cpp/src/qpid/messaging/MessageImpl.h')
-rw-r--r-- | cpp/src/qpid/messaging/MessageImpl.h | 53 |
1 files changed, 39 insertions, 14 deletions
diff --git a/cpp/src/qpid/messaging/MessageImpl.h b/cpp/src/qpid/messaging/MessageImpl.h index 57df6b3fda..915c790153 100644 --- a/cpp/src/qpid/messaging/MessageImpl.h +++ b/cpp/src/qpid/messaging/MessageImpl.h @@ -24,52 +24,77 @@ #include "qpid/messaging/Address.h" #include "qpid/types/Variant.h" #include "qpid/framing/SequenceNumber.h" +#include "qpid/messaging/amqp/EncodedMessage.h" +#include <vector> +#include <boost/shared_ptr.hpp> namespace qpid { namespace messaging { -struct MessageImpl +class MessageImpl { - Address replyTo; - std::string subject; - std::string contentType; - std::string messageId; - std::string userId; - std::string correlationId; + private: + mutable Address replyTo; + mutable std::string subject; + mutable std::string contentType; + mutable std::string messageId; + mutable std::string userId; + mutable std::string correlationId; uint8_t priority; uint64_t ttl; bool durable; bool redelivered; - qpid::types::Variant::Map headers; + mutable qpid::types::Variant::Map headers; - std::string bytes; + mutable std::string bytes; + boost::shared_ptr<const qpid::messaging::amqp::EncodedMessage> encoded; qpid::framing::SequenceNumber internalId; + void updated(); + public: MessageImpl(const std::string& c); MessageImpl(const char* chars, size_t count); void setReplyTo(const Address& d); const Address& getReplyTo() const; - + void setSubject(const std::string& s); const std::string& getSubject() const; - + void setContentType(const std::string& s); const std::string& getContentType() const; - + + void setMessageId(const std::string&); + const std::string& getMessageId() const; + void setUserId(const std::string& ); + const std::string& getUserId() const; + void setCorrelationId(const std::string& ); + const std::string& getCorrelationId() const; + void setPriority(uint8_t); + uint8_t getPriority() const; + void setTtl(uint64_t); + uint64_t getTtl() const; + void setDurable(bool); + bool isDurable() const; + void setRedelivered(bool); + bool isRedelivered() const; + + 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); + void appendBytes(const char* chars, size_t count); const std::string& getBytes() const; std::string& getBytes(); void setInternalId(qpid::framing::SequenceNumber id); qpid::framing::SequenceNumber getInternalId(); - + void setEncoded(boost::shared_ptr<const qpid::messaging::amqp::EncodedMessage> e) { encoded = e; } + boost::shared_ptr<const qpid::messaging::amqp::EncodedMessage> getEncoded() const { return encoded; } }; class Message; |