#ifndef MYSQL_EMBEDDED_SERVER_H #define MYSQL_EMBEDDED_SERVER_H #include #include #include #include #include namespace MySQL { namespace Embedded { class Server; typedef boost::intrusive_ptr ServerPtr; class Server : public IntrusivePtrBase { public: virtual ~Server(); static ServerPtr get(const boost::filesystem::path &, const std::vector &); static ServerPtr getMock(const boost::filesystem::path &); protected: Server(const boost::filesystem::path &, const std::vector &); const boost::filesystem::path path; private: static Server * instance; }; class MockServer : public Server { public: MockServer(const boost::filesystem::path &); void initialize(); public: ~MockServer(); }; } } #endif