summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/messaging/MessageImpl.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/messaging/MessageImpl.h')
-rw-r--r--cpp/src/qpid/messaging/MessageImpl.h53
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;