diff options
Diffstat (limited to 'cpp/src/qpid/asyncStore/PersistableMessageContext.h')
-rw-r--r-- | cpp/src/qpid/asyncStore/PersistableMessageContext.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/cpp/src/qpid/asyncStore/PersistableMessageContext.h b/cpp/src/qpid/asyncStore/PersistableMessageContext.h new file mode 100644 index 0000000000..ec9eb377c2 --- /dev/null +++ b/cpp/src/qpid/asyncStore/PersistableMessageContext.h @@ -0,0 +1,32 @@ +#ifndef qpid_asyncStore_PersistableMessageContext_h_ +#define qpid_asyncStore_PersistableMessageContext_h_ + +#include "qpid/broker/MessageHandle.h" +#include "qpid/broker/PersistableMessage.h" + +namespace qpid { +namespace asyncStore { + +class PersistableMessageContext: public qpid::broker::PersistableMessage { +private: + qpid::broker::MessageHandle m_msgHandle; + qpid::broker::AsyncStore* m_store; +public: + PersistableMessageContext(qpid::broker::AsyncStore* store); + virtual ~PersistableMessageContext(); + + // --- Interface Persistable --- + void encode(qpid::framing::Buffer& buffer) const; + uint32_t encodedSize() const; + + // --- Class PersistableMessage --- + bool isPersistent() const; + void decodeHeader(framing::Buffer& buffer); + void decodeContent(framing::Buffer& buffer); + uint32_t encodedHeaderSize() const; + boost::intrusive_ptr<PersistableMessage> merge(const std::map<std::string, qpid::types::Variant>& annotations) const; +}; + +}} // namespace qpid::asyncStore + +#endif // qpid_asyncStore_PersistableMessageContext_h_ |