lux/api/engine.h

00001 #ifndef LUX_API_ENGINE_H
00002 #define LUX_API_ENGINE_H
00003 
00004 #include "lux/lux.h"
00005 #ifdef HAVE_TR1_MEMORY
00006 #include <tr1/memory>
00007 #elif HAVE_BOOST_SHARED_PTR_HPP
00008 #include <boost/shared_ptr.hpp>
00009 #endif
00010 
00011 namespace Lux {
00012 
00013   class SearchIndex;
00014   struct EngineImpl;
00015   namespace Config { class Document; }
00016 
00020   class Engine {
00021 
00022   public:
00027     Engine(Config::Document &doc_config);
00031     ~Engine();
00037     bool open(std::string dir, db_flags_t oflags);
00041     bool close(void);
00045     bool is_opened;
00049     db_flags_t oflags_;
00050 
00051 #ifdef HAVE_TR1_MEMORY
00052     std::tr1::shared_ptr<EngineImpl> pimpl_;
00053 #elif HAVE_BOOST_SHARED_PTR_HPP
00054     boost::shared_ptr<EngineImpl> pimpl_;
00055 #endif
00056   };
00057 }
00058 
00059 #endif

Generated on Fri Feb 5 15:50:30 2010 for Lux by  doxygen 1.4.7