summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/SessionManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/broker/SessionManager.cpp')
-rw-r--r--cpp/src/qpid/broker/SessionManager.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/SessionManager.cpp b/cpp/src/qpid/broker/SessionManager.cpp
index 1d5f9ebada..aadb2b9004 100644
--- a/cpp/src/qpid/broker/SessionManager.cpp
+++ b/cpp/src/qpid/broker/SessionManager.cpp
@@ -50,6 +50,8 @@ std::auto_ptr<SessionState> SessionManager::open(
std::auto_ptr<SessionState> session(
new SessionState(*this, h, timeout_, ack));
active.insert(session->getId());
+ for_each(observers.begin(), observers.end(),
+ boost::bind(&Observer::opened, _1,boost::ref(*session)));
return session;
}
@@ -102,4 +104,8 @@ void SessionManager::eraseExpired() {
}
}
+void SessionManager::add(const intrusive_ptr<Observer>& o) {
+ observers.push_back(o);
+}
+
}} // namespace qpid::broker