From 58841ef12f6cba1bb622353c1fcaa0e3c6fb46c9 Mon Sep 17 00:00:00 2001 From: Ilya Zhuravlev Date: Tue, 23 Oct 2012 01:18:44 +0400 Subject: Add dummy and LevelDB database backends --- src/database-sqlite3.h | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/database-sqlite3.h (limited to 'src/database-sqlite3.h') diff --git a/src/database-sqlite3.h b/src/database-sqlite3.h new file mode 100644 index 000000000..83b0d2a55 --- /dev/null +++ b/src/database-sqlite3.h @@ -0,0 +1,43 @@ +#ifndef DATABASE_SQLITE3_HEADER +#define DATABASE_SQLITE3_HEADER + +#include "config.h" +#include "map.h" +#include "mapsector.h" +#include "mapblock.h" +#include "main.h" +#include "filesys.h" +#include "database.h" + +extern "C" { + #include "sqlite3.h" +} + +class Database_SQLite3 : public Database +{ +public: + Database_SQLite3(ServerMap *map, std::string savedir); + virtual void beginSave(); + virtual void endSave(); + + virtual void saveBlock(MapBlock *block); + virtual MapBlock* loadBlock(v3s16 blockpos); + virtual void listAllLoadableBlocks(core::list &dst); + virtual int Initialized(void); + ~Database_SQLite3(); +private: + ServerMap *srvmap; + std::string m_savedir; + sqlite3 *m_database; + sqlite3_stmt *m_database_read; + sqlite3_stmt *m_database_write; + sqlite3_stmt *m_database_list; + + // Create the database structure + void createDatabase(); + // Verify we can read/write to the database + void verifyDatabase(); + void createDirs(std::string path); +}; + +#endif -- cgit v1.2.3