diff options
author | Bernard Normier <bernard@zeroc.com> | 2004-12-02 23:18:51 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2004-12-02 23:18:51 +0000 |
commit | 7e5b25f64e832a9659dc054eef2935284c795a5a (patch) | |
tree | 4f9f3ce6eb8ec88d3455b8a07998ed4ab575ce9e /cpp/src/Freeze/SharedDbEnv.h | |
parent | bzip2 fix (diff) | |
download | ice-7e5b25f64e832a9659dc054eef2935284c795a5a.tar.bz2 ice-7e5b25f64e832a9659dc054eef2935284c795a5a.tar.xz ice-7e5b25f64e832a9659dc054eef2935284c795a5a.zip |
Freeze catalogs
Diffstat (limited to 'cpp/src/Freeze/SharedDbEnv.h')
-rw-r--r-- | cpp/src/Freeze/SharedDbEnv.h | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/cpp/src/Freeze/SharedDbEnv.h b/cpp/src/Freeze/SharedDbEnv.h index 40c3346569d..666fb0bff40 100644 --- a/cpp/src/Freeze/SharedDbEnv.h +++ b/cpp/src/Freeze/SharedDbEnv.h @@ -24,32 +24,45 @@ typedef IceUtil::Handle<CheckpointThread> CheckpointThreadPtr; class SharedDbEnv; typedef IceUtil::Handle<SharedDbEnv> SharedDbEnvPtr; +class SharedDb; +typedef IceUtil::Handle<SharedDb> SharedDbPtr; -class SharedDbEnv : public ::DbEnv +class SharedDbEnv { public: - static SharedDbEnvPtr get(const Ice::CommunicatorPtr&, const std::string&); + static SharedDbEnvPtr get(const Ice::CommunicatorPtr&, const std::string&, DbEnv* = 0); ~SharedDbEnv(); void __incRef(); void __decRef(); + DbEnv* getEnv() const; const std::string& getEnvName() const; const Ice::CommunicatorPtr& getCommunicator() const; + const SharedDbPtr& getCatalog() const; private: - SharedDbEnv(const std::string&, const Ice::CommunicatorPtr&); + SharedDbEnv(const std::string&, const Ice::CommunicatorPtr&, DbEnv* env); + DbEnv* _env; + std::auto_ptr<DbEnv> _envHolder; const std::string _envName; const Ice::CommunicatorPtr _communicator; + SharedDbPtr _catalog; + int _refCount; - Ice::Int _trace; + int _trace; CheckpointThreadPtr _thread; - IceUtil::Mutex _oldLogsMutex; }; +inline DbEnv* +SharedDbEnv::getEnv() const +{ + return _env; +} + inline const std::string& SharedDbEnv::getEnvName() const { @@ -62,5 +75,12 @@ SharedDbEnv::getCommunicator() const return _communicator; } +inline const SharedDbPtr& +SharedDbEnv::getCatalog() const +{ + return _catalog; +} + + } #endif |