xapian-core  2.0.0
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
BackendManagerHoney Class Reference

BackendManager subclass for honey databases. More...

#include <backendmanager_honey.h>

+ Inheritance diagram for BackendManagerHoney:
+ Collaboration diagram for BackendManagerHoney:

Public Member Functions

 BackendManagerHoney (const std::string &datadir_)
 
 BackendManagerHoney (const std::string &datadir_, BackendManager *generated_sub_manager_)
 
Xapian::WritableDatabase get_generated_database (const std::string &name)
 Get generated database for honey. More...
 
void finalise_generated_database (const std::string &name)
 Finalise generated database. More...
 
Xapian::WritableDatabase get_writable_database (const std::string &name, const std::string &file)
 Create a Xapian::WritableDatabase object. More...
 
std::string get_generated_database_path (const std::string &name)
 Get the path to use for generating a database, if supported. More...
 
std::string get_compaction_output_path (const std::string &name)
 Get a path to compact a database to. More...
 
- Public Member Functions inherited from BackendManager
 BackendManager (const std::string &datadir_, const std::string &dbtype_)
 Constructor. More...
 
virtual ~BackendManager ()
 We have virtual methods and want to be able to delete derived classes using a pointer to the base class, so we need a virtual destructor. More...
 
const std::string & get_dbtype () const
 Get the database type currently in use. More...
 
const std::string & get_datadir () const
 Get the directory to store data in. More...
 
Xapian::Database get_database (const std::vector< std::string > &files)
 Get a database instance of the current type. More...
 
Xapian::Database get_database (const std::string &file)
 Get a database instance of the current type, single file case. More...
 
Xapian::Database get_database (const std::string &dbname, void(*gen)(Xapian::WritableDatabase &, const std::string &), const std::string &arg)
 Get a database instance of the current type, generated case. More...
 
virtual Xapian::Database get_database_by_path (const std::string &path)
 Get a database instance by path. More...
 
std::string get_database_path (const std::vector< std::string > &files)
 Get the path of a database instance, if such a thing exists. More...
 
std::string get_database_path (const std::string &file)
 Get the path of a database instance, if such a thing exists (single file case). More...
 
std::string get_database_path (const std::string &dbname, void(*gen)(Xapian::WritableDatabase &, const std::string &), const std::string &arg)
 Get the path of a generated database instance. More...
 
virtual Xapian::WritableDatabase get_remote_writable_database (std::string args)
 Get a remote Xapian::WritableDatabase instance with specified args. More...
 
virtual std::string get_writable_database_path (const std::string &name)
 Get the path of a writable database instance, if such a thing exists. More...
 
virtual Xapian::Database get_remote_database (const std::vector< std::string > &files, unsigned int timeout, int *port_ptr)
 Get a remote database instance with the specified timeout. More...
 
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. More...
 
virtual Xapian::Database get_writable_database_as_database ()
 Create a Database object for the last opened WritableDatabase. More...
 
virtual Xapian::WritableDatabase get_writable_database_again ()
 Create a WritableDatabase object for the last opened WritableDatabase. More...
 
virtual std::string get_writable_database_path_again ()
 Get the path of the last opened WritableDatabase. More...
 
virtual void clean_up ()
 Called after each test, to perform any necessary cleanup. More...
 
virtual void kill_remote (const Xapian::Database &db)
 Kill the remote server associated with db. More...
 

Protected Member Functions

std::string do_get_database_path (const std::vector< std::string > &files)
 Get the path of Honey Xapian::Database instance. More...
 
- Protected Member Functions inherited from BackendManager
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. More...
 
bool create_dir_if_needed (const std::string &dirname)
 Create the directory dirname if needed. More...
 
virtual Xapian::Database do_get_database (const std::vector< std::string > &files)
 Virtual method implementing get_database(). More...
 

Private Member Functions

void operator= (const BackendManagerHoney &)
 Don't allow assignment. More...
 
 BackendManagerHoney (const BackendManagerHoney &)
 Don't allow copying. More...
 

Private Attributes

std::string last_wdb_name
 The path of the last writable database used. More...
 
BackendManagergenerated_sub_manager
 BackendManager for generated testcases. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from BackendManager
static const char * get_xapian_progsrv_command ()
 Get the command line required to run xapian-progsrv. More...
 

Detailed Description

BackendManager subclass for honey databases.

Definition at line 32 of file backendmanager_honey.h.

Constructor & Destructor Documentation

◆ BackendManagerHoney() [1/3]

BackendManagerHoney::BackendManagerHoney ( const BackendManagerHoney )
private

Don't allow copying.

◆ BackendManagerHoney() [2/3]

BackendManagerHoney::BackendManagerHoney ( const std::string &  datadir_)
inline

Definition at line 50 of file backendmanager_honey.h.

◆ BackendManagerHoney() [3/3]

BackendManagerHoney::BackendManagerHoney ( const std::string &  datadir_,
BackendManager generated_sub_manager_ 
)
inline

Definition at line 54 of file backendmanager_honey.h.

Member Function Documentation

◆ do_get_database_path()

string BackendManagerHoney::do_get_database_path ( const std::vector< std::string > &  files)
protectedvirtual

◆ finalise_generated_database()

void BackendManagerHoney::finalise_generated_database ( const std::string &  name)
virtual

Finalise generated database.

Reimplemented from BackendManager.

Definition at line 83 of file backendmanager_honey.cc.

References CACHE_DIRECTORY, Xapian::Database::compact(), Xapian::DB_BACKEND_HONEY, Xapian::DBCOMPACT_NO_RENUMBER, and name.

◆ get_compaction_output_path()

string BackendManagerHoney::get_compaction_output_path ( const std::string &  name)
virtual

Get a path to compact a database to.

Reimplemented from BackendManager.

Definition at line 122 of file backendmanager_honey.cc.

References CACHE_DIRECTORY, and name.

◆ get_generated_database()

Xapian::WritableDatabase BackendManagerHoney::get_generated_database ( const std::string &  name)
virtual

Get generated database for honey.

Reimplemented from BackendManager.

Definition at line 74 of file backendmanager_honey.cc.

◆ get_generated_database_path()

string BackendManagerHoney::get_generated_database_path ( const std::string &  name)
virtual

Get the path to use for generating a database, if supported.

Reimplemented from BackendManager.

Definition at line 116 of file backendmanager_honey.cc.

References CACHE_DIRECTORY, and name.

◆ get_writable_database()

Xapian::WritableDatabase BackendManagerHoney::get_writable_database ( const std::string &  name,
const std::string &  file 
)
virtual

Create a Xapian::WritableDatabase object.

Reimplemented from BackendManager.

Definition at line 110 of file backendmanager_honey.cc.

◆ operator=()

void BackendManagerHoney::operator= ( const BackendManagerHoney )
private

Don't allow assignment.

Member Data Documentation

◆ generated_sub_manager

BackendManager* BackendManagerHoney::generated_sub_manager
private

BackendManager for generated testcases.

Definition at line 43 of file backendmanager_honey.h.

◆ last_wdb_name

std::string BackendManagerHoney::last_wdb_name
private

The path of the last writable database used.

Definition at line 40 of file backendmanager_honey.h.


The documentation for this class was generated from the following files: