#ifndef MYSQLCLIENT_H #define MYSQLCLIENT_H #include "MySQLResultSet.h" #include #include namespace MySQL { class MySQLClientImpl; class MySQLClient { public: MySQLClient(); ~MySQLClient(); void Connect(const std::string& hostname, const std::string& username, const std::string& password, bool automaticReconnect = true); void Connect(const std::string& hostname, const std::string& username, const std::string& password, const std::string& database, bool automaticReconnect = true); void Disconnect(); void Reconnect(bool automaticReconnect = true); bool Connected(); std::string Database() const; void Execute(const std::string& query) const; MySQLResultSet ExecuteQuery(const std::string& query) const; private: std::unique_ptr m_pMySQLClientImpl; }; } // namespace MySQL #endif // MYSQLCLIENT_H