// vim: set ts=4 sw=4 tw=99 noet: // // AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO"). // Copyright (C) The AMX Mod X Development Team. // // This software is licensed under the GNU General Public License, version 3 or higher. // Additional exceptions apply. For full license details, see LICENSE.txt or visit: // https://alliedmods.net/amxmodx-license // // SQLite Module // #ifndef _INCLUDE_SOURCEMOD_SQLITE_DATABASE_H #define _INCLUDE_SOURCEMOD_SQLITE_DATABASE_H #include "SqliteHeaders.h" #include "SqliteDriver.h" namespace SourceMod { class SqliteDriver; class SqliteDatabase : public IDatabase { friend class SqliteQuery; public: SqliteDatabase(sqlite3 *sql, SqliteDriver *drvr); ~SqliteDatabase(); public: void FreeHandle(); ISQLDriver *Driver(); public: IQuery *PrepareQueryFmt(const char *fmt, ...); IQuery *PrepareQueryFmt(const char *fmt, va_list ap); IQuery *PrepareQuery(const char *query); int QuoteString(const char *str, char buffer[], size_t maxlen, size_t *newsize); bool SetCharacterSet(const char *characterset); private: void Disconnect(); private: sqlite3 *m_pSql; SqliteDriver *m_pParent; }; }; #endif //_INCLUDE_SOURCEMOD_SQLITE_DATABASE_H