summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/ConnectionHandler.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-08-05 13:25:36 +0000
committerGordon Sim <gsim@apache.org>2007-08-05 13:25:36 +0000
commitb2efcb6ed3e1e2104836928cda81ed69f2f24559 (patch)
tree392ae403dcb0d32da3edaeaf8a1f497679d9102c /cpp/src/qpid/client/ConnectionHandler.cpp
parentb2fadec5d86e278d96112e915e67aec934e91046 (diff)
downloadqpid-python-b2efcb6ed3e1e2104836928cda81ed69f2f24559.tar.gz
Added first cut of generated client interface.
Old channel interface still supported; shares SessionCore with the new interface. Todo: allow applications to signal completion of received commands; keywrod args for interface. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@562866 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/client/ConnectionHandler.cpp')
-rw-r--r--cpp/src/qpid/client/ConnectionHandler.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/cpp/src/qpid/client/ConnectionHandler.cpp b/cpp/src/qpid/client/ConnectionHandler.cpp
index ada3fa4fb0..f20f597d1f 100644
--- a/cpp/src/qpid/client/ConnectionHandler.cpp
+++ b/cpp/src/qpid/client/ConnectionHandler.cpp
@@ -175,8 +175,9 @@ void ConnectionHandler::handle(AMQMethodBody::shared_ptr method)
if (method->isA<ConnectionCloseBody>()) {
send(make_shared_ptr(new ConnectionCloseOkBody(version)));
setState(CLOSED);
- if (onClose) {
- onClose();
+ if (onError) {
+ ConnectionCloseBody::shared_ptr c(shared_polymorphic_cast<ConnectionCloseBody>(method));
+ onError(c->getReplyCode(), c->getReplyText());
}
} else {
error(503, "Unexpected method on channel zero.", method->amqpClassId(), method->amqpMethodId());