summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/client')
-rw-r--r--cpp/src/qpid/client/ExecutionHandler.cpp10
-rw-r--r--cpp/src/qpid/client/ExecutionHandler.h6
2 files changed, 5 insertions, 11 deletions
diff --git a/cpp/src/qpid/client/ExecutionHandler.cpp b/cpp/src/qpid/client/ExecutionHandler.cpp
index 25813dd623..e4edece414 100644
--- a/cpp/src/qpid/client/ExecutionHandler.cpp
+++ b/cpp/src/qpid/client/ExecutionHandler.cpp
@@ -25,6 +25,7 @@
#include "qpid/framing/MessageTransferBody.h"
#include "qpid/framing/AMQP_HighestVersion.h"
#include "qpid/framing/all_method_bodies.h"
+#include "qpid/framing/ServerInvoker.h"
using namespace qpid::client;
using namespace qpid::framing;
@@ -49,20 +50,13 @@ bool isContentFrame(AMQFrame& frame)
return type == HEADER_BODY || type == CONTENT_BODY || isMessageMethod(body);
}
-bool invoke(AMQBody* body, Invocable* target)
-{
- AMQMethodBody* method=body->getMethod();
- return method && method->invoke(target);
-}
-
ExecutionHandler::ExecutionHandler(uint64_t _maxFrameSize) :
version(framing::highestProtocolVersion), maxFrameSize(_maxFrameSize) {}
//incoming:
void ExecutionHandler::handle(AMQFrame& frame)
{
- AMQBody* body = frame.getBody();
- if (!invoke(body, this)) {
+ if (!invoke(*this, *frame.getBody())) {
if (!arriving) {
arriving = FrameSet::shared_ptr(new FrameSet(++incomingCounter));
}
diff --git a/cpp/src/qpid/client/ExecutionHandler.h b/cpp/src/qpid/client/ExecutionHandler.h
index 7205983cf7..0999540909 100644
--- a/cpp/src/qpid/client/ExecutionHandler.h
+++ b/cpp/src/qpid/client/ExecutionHandler.h
@@ -38,9 +38,9 @@ namespace qpid {
namespace client {
class ExecutionHandler :
- private framing::AMQP_ServerOperations::ExecutionHandler,
- public framing::FrameHandler,
- public Execution
+ public framing::AMQP_ServerOperations::ExecutionHandler,
+ public framing::FrameHandler,
+ public Execution
{
framing::SequenceNumber incomingCounter;
framing::AccumulatedAck incomingCompletionStatus;