summaryrefslogtreecommitdiff
path: root/cpp/src/Freeze/SharedDbEnv.h
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2004-12-02 23:18:51 +0000
committerBernard Normier <bernard@zeroc.com>2004-12-02 23:18:51 +0000
commit7e5b25f64e832a9659dc054eef2935284c795a5a (patch)
tree4f9f3ce6eb8ec88d3455b8a07998ed4ab575ce9e /cpp/src/Freeze/SharedDbEnv.h
parentbzip2 fix (diff)
downloadice-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.h30
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