OpenTREP Logo  0.07.7
C++ Open Travel Request Parsing Library
FacXapianDB.hpp
Go to the documentation of this file.
1 #ifndef __OPENTREP_FAC_FACXAPIANDB_HPP
2 #define __OPENTREP_FAC_FACXAPIANDB_HPP
3 
4 // //////////////////////////////////////////////////////////////////////
5 // Import section
6 // //////////////////////////////////////////////////////////////////////
7 // STL
8 #include <vector>
9 // OpenTrep
11 
12 // Forward declarations
13 namespace Xapian {
14  class WritableDatabase;
15 }
16 
17 namespace OPENTREP {
18 
22  class FacXapianDB {
23  public:
24 
28  typedef std::vector<Xapian::WritableDatabase*> XapianDBPool_T;
29 
37  static FacXapianDB& instance();
38 
42  void clean();
43 
50  ~FacXapianDB();
51 
61  Xapian::WritableDatabase* create (const TravelDBFilePath_T&,
62  const int& iXapianActionFlag);
63 
64  private:
71  FacXapianDB() {}
72 
73  private:
77  static FacXapianDB* _instance;
78 
82  XapianDBPool_T _pool;
83 
84  };
85 
86 }
87 #endif // __OPENTREP_FAC_FACXAPIANDB_HPP
static FacXapianDB & instance()
Definition: FacXapianDB.cpp:39
Factory for a Xapian WritableDatabase object.
Definition: FacXapianDB.hpp:22
Xapian::WritableDatabase * create(const TravelDBFilePath_T &, const int &iXapianActionFlag)
Definition: FacXapianDB.cpp:50
std::vector< Xapian::WritableDatabase * > XapianDBPool_T
Definition: FacXapianDB.hpp:28