23 #ifndef OM_HGUARD_BACKENDMANAGER_H    24 #define OM_HGUARD_BACKENDMANAGER_H    33 # define XAPIAN_BIN_PATH "..\\bin\\"    34 # define EXE_SUFFIX ".exe"    36 # define XAPIAN_BIN_PATH "../bin/"    39 #define XAPIAN_TCPSRV XAPIAN_BIN_PATH "xapian-tcpsrv" EXE_SUFFIX    40 #define XAPIAN_PROGSRV XAPIAN_BIN_PATH "xapian-progsrv" EXE_SUFFIX    52                                  const std::vector<std::string> & files);
    75         : datadir(datadir_), dbtype(dbtype_) {}
   107                                               const std::string &),
   108                                   const std::string &arg);
   122                                               const std::string &),
   123                                   const std::string &arg);
   152                                                    unsigned int timeout);
 static const char * get_xapian_progsrv_command()
Get the command line required to run xapian-progsrv. 
 
const std::string & get_datadir() const
Get the directory to store data in. 
 
virtual Xapian::Database get_remote_database(const std::vector< std::string > &files, unsigned int timeout)
Get a remote database instance with the specified timeout. 
 
std::string datadir
The current data directory. 
 
BackendManager(const std::string &datadir_, const std::string &dbtype_)
Constructor. 
 
const std::string & get_dbtype() const
Get the database type currently in use. 
 
This class is used to access a database, or a group of databases. 
 
unsigned timeout
A timeout value in milliseconds. 
 
Xapian::Database get_database(const std::vector< std::string > &files)
Get a database instance of the current type. 
 
virtual std::string get_generated_database_path(const std::string &name)
Get the path to use for generating a database, if supported. 
 
std::string get_database_path(const std::vector< std::string > &files)
Get the path of a database instance, if such a thing exists. 
 
virtual Xapian::WritableDatabase get_generated_database(const std::string &name)
Get a generated writable database instance. 
 
virtual std::string get_writable_database_path(const std::string &name)
Get the path of a writable database instance, if such a thing exists. 
 
virtual Xapian::WritableDatabase get_writable_database(const std::string &name, const std::string &file)
Get a writable database instance. 
 
std::string dbtype
The backend database type (set by subclass ctor). 
 
bool create_dir_if_needed(const std::string &dirname)
Create the directory dirname if needed. 
 
virtual Xapian::WritableDatabase get_writable_database_again()
Create a WritableDatabase object for the last opened WritableDatabase. 
 
virtual Xapian::Database get_database_by_path(const std::string &path)
Get a database instance by path. 
 
This class provides read/write access to a database. 
 
Public interfaces for the Xapian library. 
 
virtual Xapian::WritableDatabase get_remote_writable_database(std::string args)
Get a remote Xapian::WritableDatabase instance with specified args. 
 
virtual std::string get_writable_database_path_again()
Get the path of the last opened WritableDatabase. 
 
virtual void clean_up()
Called after each test, to perform any necessary cleanup. 
 
virtual ~BackendManager()
We have virtual methods and want to be able to delete derived classes using a pointer to the base cla...
 
virtual Xapian::Database do_get_database(const std::vector< std::string > &files)
Virtual method implementing get_database(). 
 
virtual std::string do_get_database_path(const std::vector< std::string > &files)
Virtual method implementing get_database_path(). 
 
virtual Xapian::Database get_writable_database_as_database()
Create a Database object for the last opened WritableDatabase. 
 
virtual std::string get_writable_database_args(const std::string &path, unsigned int timeout)
Get the args for opening a writable remote database with the specified timeout. 
 
virtual std::string get_compaction_output_path(const std::string &name)
Get a path to compact a database to. 
 
virtual void finalise_generated_database(const std::string &name)
Finalise the generated database. 
 
void index_files_to_database(Xapian::WritableDatabase &database, const std::vector< std::string > &files)
Index data from zero or more text files into a database.