337f2745aed9ba2c0fbc45a4a0113ce6f73e279e
[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 #include "serialization.h"
11 #include <list>
12
13 class Database;
14 class ServerMap;
15
16 class Database
17 {
18 public:
19         virtual void beginSave()=0;
20         virtual void endSave()=0;
21
22         virtual void saveBlock(MapBlock *block)=0;
23         virtual MapBlock* loadBlock(v3s16 blockpos)=0;
24         long long getBlockAsInteger(const v3s16 pos);
25         v3s16 getIntegerAsBlock(long long i);
26         virtual void listAllLoadableBlocks(std::list<v3s16> &dst)=0;
27         virtual int Initialized(void)=0;
28         virtual ~Database() {};
29 };
30 #endif