diff options
author | Bernard Normier <bernard@zeroc.com> | 2003-09-16 01:41:46 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2003-09-16 01:41:46 +0000 |
commit | 83cb29a8de333646c9b3e7ac6909accce72e6b5f (patch) | |
tree | cc1037886e0d1770d9c1ad412d79c81a5a1d21ad /cpp/src/IceStorm/TopicManagerI.cpp | |
parent | flex fixes (diff) | |
download | ice-83cb29a8de333646c9b3e7ac6909accce72e6b5f.tar.bz2 ice-83cb29a8de333646c9b3e7ac6909accce72e6b5f.tar.xz ice-83cb29a8de333646c9b3e7ac6909accce72e6b5f.zip |
Added Freeze Connection and Transaction
Diffstat (limited to 'cpp/src/IceStorm/TopicManagerI.cpp')
-rw-r--r-- | cpp/src/IceStorm/TopicManagerI.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/cpp/src/IceStorm/TopicManagerI.cpp b/cpp/src/IceStorm/TopicManagerI.cpp index 009574b7706..444d734f153 100644 --- a/cpp/src/IceStorm/TopicManagerI.cpp +++ b/cpp/src/IceStorm/TopicManagerI.cpp @@ -17,6 +17,7 @@ #include <IceStorm/TopicI.h> #include <IceStorm/Flusher.h> #include <IceStorm/TraceLevels.h> +#include <Freeze/Initialize.h> #include <functional> #include <ctype.h> @@ -32,7 +33,8 @@ TopicManagerI::TopicManagerI(const Ice::CommunicatorPtr& communicator, const Ice _publishAdapter(publishAdapter), _traceLevels(traceLevels), _envName(envName), - _topics(_communicator, envName, dbName) + _connection(Freeze::createConnection(_communicator, envName)), + _topics(_connection, dbName) { _flusher = new Flusher(_communicator, _traceLevels); _factory = new SubscriberFactory(_communicator, _traceLevels, _flusher); @@ -195,6 +197,13 @@ TopicManagerI::reap() } void +TopicManagerI::shutdown() +{ + IceUtil::Mutex::Lock sync(*this); + reap(); +} + +void TopicManagerI::installTopic(const string& message, const string& name, bool create) { if(_traceLevels->topicMgr > 0) |