Add dummy and LevelDB database backends
[oweals/minetest.git] / src / database.h
1 #ifndef DATABASE_HEADER
2 #define DATABASE_HEADER
3
4 #include "config.h"
5 #include "map.h"
6 #include "mapsector.h"
7 #include "mapblock.h"
8 #include "main.h"
9 #include "filesys.h"
10
11 class Database;
12 class ServerMap;
13
14 class Database
15 {
16 public:
17         virtual void beginSave()=0;
18         virtual void endSave()=0;
19
20         virtual void saveBlock(MapBlock *block)=0;
21         virtual MapBlock* loadBlock(v3s16 blockpos)=0;
22         long long getBlockAsInteger(const v3s16 pos);
23         v3s16 getIntegerAsBlock(long long i);
24         virtual void listAllLoadableBlocks(core::list<v3s16> &dst)=0;
25         virtual int Initialized(void)=0;
26         virtual ~Database() {};
27 };
28 #endif