00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _RecoveredDequeue_
00022 #define _RecoveredDequeue_
00023
00024 #include "Deliverable.h"
00025 #include "Message.h"
00026 #include "MessageStore.h"
00027 #include "Queue.h"
00028 #include "TxOp.h"
00029
00030 #include <boost/intrusive_ptr.hpp>
00031
00032 #include <algorithm>
00033 #include <functional>
00034 #include <list>
00035
00036 namespace qpid {
00037 namespace broker {
00038 class RecoveredDequeue : public TxOp{
00039 Queue::shared_ptr queue;
00040 boost::intrusive_ptr<Message> msg;
00041
00042 public:
00043 RecoveredDequeue(Queue::shared_ptr queue, boost::intrusive_ptr<Message> msg);
00044 virtual bool prepare(TransactionContext* ctxt) throw();
00045 virtual void commit() throw();
00046 virtual void rollback() throw();
00047 virtual ~RecoveredDequeue(){}
00048 };
00049 }
00050 }
00051
00052
00053 #endif