libdb/examples/cxx/getting_started/MyDb.hpp

46 lines
1,017 B
C++

/*-
* See the file LICENSE for redistribution information.
*
* Copyright (c) 2005, 2011 Oracle and/or its affiliates. All rights reserved.
*
* $Id$
*/
// File: MyDb.hpp
#ifndef MYDB_H
#define MYDB_H
#include <string>
#include <db_cxx.h>
class MyDb
{
public:
// Constructor requires a path to the database,
// and a database name.
MyDb(std::string &path, std::string &dbName,
bool isSecondary = false);
// Our destructor just calls our private close method.
~MyDb() { close(); }
inline Db &getDb() {return db_;}
private:
Db db_;
std::string dbFileName_;
u_int32_t cFlags_;
// Make sure the default constructor is private
// We don't want it used.
MyDb() : db_(NULL, 0) {}
// We put our database close activity here.
// This is called from our destructor. In
// a more complicated example, we might want
// to make this method public, but a private
// method is more appropriate for this example.
void close();
};
#endif