summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/Connection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/client/Connection.cpp')
-rw-r--r--cpp/src/qpid/client/Connection.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/cpp/src/qpid/client/Connection.cpp b/cpp/src/qpid/client/Connection.cpp
index 27706fab8c..3ee70c222a 100644
--- a/cpp/src/qpid/client/Connection.cpp
+++ b/cpp/src/qpid/client/Connection.cpp
@@ -99,6 +99,15 @@ bool Connection::isOpen() const {
return impl && impl->isOpen();
}
+void
+Connection::registerFailureCallback ( boost::function<void ()> fn ) {
+ failureCallback = fn;
+ if ( impl )
+ impl->registerFailureCallback ( fn );
+}
+
+
+
void Connection::open(const ConnectionSettings& settings)
{
if (isOpen())
@@ -106,6 +115,8 @@ void Connection::open(const ConnectionSettings& settings)
impl = shared_ptr<ConnectionImpl>(new ConnectionImpl(version, settings));
impl->open();
+ if ( failureCallback )
+ impl->registerFailureCallback ( failureCallback );
}
Session Connection::newSession(const std::string& name, uint32_t timeout) {