summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/SessionManager.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-01-29 20:39:26 +0000
committerAlan Conway <aconway@apache.org>2008-01-29 20:39:26 +0000
commit1fd398c1c0b78ce48d3b540698cfbf085e5ff8dd (patch)
tree0665758138bb485b43e5be7190ab0f5ec47c0420 /cpp/src/qpid/broker/SessionManager.cpp
parent5cc7ee2784983f4875d1b8eca2db75b431e91a6f (diff)
downloadqpid-python-1fd398c1c0b78ce48d3b540698cfbf085e5ff8dd.tar.gz
Added Observer to SessionManager for cluster use.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@616511 13f79535-47bb-0310-9956-ffa450edef68
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