summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/SessionAdapter.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/broker/SessionAdapter.h')
-rw-r--r--cpp/src/qpid/broker/SessionAdapter.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/SessionAdapter.h b/cpp/src/qpid/broker/SessionAdapter.h
index e83d58bc2f..e4c3a8676f 100644
--- a/cpp/src/qpid/broker/SessionAdapter.h
+++ b/cpp/src/qpid/broker/SessionAdapter.h
@@ -56,7 +56,7 @@ class SessionAdapter : public HandlerImpl, public framing::AMQP_ServerOperations
Exchange010Handler* getExchange010Handler(){ return &exchangeImpl; }
Queue010Handler* getQueue010Handler(){ return &queueImpl; }
Execution010Handler* getExecution010Handler(){ return &executionImpl; }
-
+ Tx010Handler* getTx010Handler(){ return &txImpl; }
BasicHandler* getBasicHandler() { throw framing::NotImplementedException("Class not implemented"); }
ExchangeHandler* getExchangeHandler(){ throw framing::NotImplementedException("Class not implemented"); }
@@ -201,10 +201,22 @@ class SessionAdapter : public HandlerImpl, public framing::AMQP_ServerOperations
};
+ class TxHandlerImpl : public Tx010Handler, public HandlerHelper
+ {
+ public:
+ TxHandlerImpl(SemanticState& session) : HandlerHelper(session) {}
+
+ void select();
+ void commit();
+ void rollback();
+ };
+
+
ExchangeHandlerImpl exchangeImpl;
QueueHandlerImpl queueImpl;
MessageHandlerImpl messageImpl;
ExecutionHandlerImpl executionImpl;
+ TxHandlerImpl txImpl;
};
}} // namespace qpid::broker