diff options
Diffstat (limited to 'cpp/src/qpid/broker/SessionManager.cpp')
| -rw-r--r-- | cpp/src/qpid/broker/SessionManager.cpp | 6 |
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 |
