00001
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef XAPIAN_INCLUDED_DBFACTORY_H
00023 #define XAPIAN_INCLUDED_DBFACTORY_H
00024
00025 #include <string>
00026
00027 #include <xapian/types.h>
00028 #include <xapian/deprecated.h>
00029 #include <xapian/version.h>
00030 #include <xapian/visibility.h>
00031
00032 namespace Xapian {
00033
00034 class Database;
00035 class WritableDatabase;
00036
00037 namespace Auto {
00038
00046 XAPIAN_VISIBILITY_DEFAULT
00047 Database open_stub(const std::string &file);
00048
00049 }
00050
00051 #ifdef XAPIAN_HAS_INMEMORY_BACKEND
00052 namespace InMemory {
00053
00059 XAPIAN_VISIBILITY_DEFAULT
00060 WritableDatabase open();
00061
00062 }
00063 #endif
00064
00065 #ifdef XAPIAN_HAS_QUARTZ_BACKEND
00066 namespace Quartz {
00067
00074 XAPIAN_VISIBILITY_DEFAULT
00075 XAPIAN_DEPRECATED(Database open(const std::string &dir));
00076
00097 XAPIAN_VISIBILITY_DEFAULT
00098 XAPIAN_DEPRECATED(WritableDatabase
00099 open(const std::string &dir, int action, int block_size = 8192));
00100
00101 }
00102 #endif
00103
00104 #ifdef XAPIAN_HAS_FLINT_BACKEND
00105 namespace Flint {
00106
00111 XAPIAN_VISIBILITY_DEFAULT
00112 Database open(const std::string &dir);
00113
00132 XAPIAN_VISIBILITY_DEFAULT
00133 WritableDatabase
00134 open(const std::string &dir, int action, int block_size = 8192);
00135
00136 }
00137 #endif
00138
00139 #ifdef XAPIAN_HAS_REMOTE_BACKEND
00140 namespace Remote {
00141
00161 XAPIAN_VISIBILITY_DEFAULT
00162 Database open(const std::string &host, unsigned int port, Xapian::timeout timeout = 10000, Xapian::timeout connect_timeout = 10000);
00163
00182 XAPIAN_VISIBILITY_DEFAULT
00183 WritableDatabase open_writable(const std::string &host, unsigned int port, Xapian::timeout timeout = 0, Xapian::timeout connect_timeout = 10000);
00184
00199 XAPIAN_VISIBILITY_DEFAULT
00200 Database open(const std::string &program, const std::string &args, Xapian::timeout timeout = 10000);
00201
00215 XAPIAN_VISIBILITY_DEFAULT
00216 WritableDatabase open_writable(const std::string &program, const std::string &args, Xapian::timeout timeout = 0);
00217
00218 }
00219 #endif
00220
00221 }
00222
00223 #endif