diff options
author | Ilya Zhuravlev <zhuravlevilya@ya.ru> | 2012-10-23 01:18:44 +0400 |
---|---|---|
committer | Sfan5 <sfan5@live.de> | 2013-09-09 22:50:50 +0200 |
commit | 58841ef12f6cba1bb622353c1fcaa0e3c6fb46c9 (patch) | |
tree | 6012bbb1905231025dff89aa73782a7c38666839 /src/database-sqlite3.h | |
parent | 71a8769bb5ded4acb3f9e5a8502bb8af277f824d (diff) | |
download | minetest-58841ef12f6cba1bb622353c1fcaa0e3c6fb46c9.tar.gz minetest-58841ef12f6cba1bb622353c1fcaa0e3c6fb46c9.tar.bz2 minetest-58841ef12f6cba1bb622353c1fcaa0e3c6fb46c9.zip |
Add dummy and LevelDB database backends
Diffstat (limited to 'src/database-sqlite3.h')
-rw-r--r-- | src/database-sqlite3.h | 43 |
1 files changed, 43 insertions, 0 deletions
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<v3s16> &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 |