X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fdatabase.h;h=cee7b6fd96d5589869ee2a5a9aa322193521923b;hb=0a0378fecef5c6b4be6d034d8bced2a1568dde81;hp=337f2745aed9ba2c0fbc45a4a0113ce6f73e279e;hpb=f1e4a671dc524430cae0dc66fd774858842a3067;p=minetest.git diff --git a/src/database.h b/src/database.h index 337f2745a..cee7b6fd9 100644 --- a/src/database.h +++ b/src/database.h @@ -1,30 +1,53 @@ +/* +Minetest +Copyright (C) 2013 celeron55, Perttu Ahola + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + #ifndef DATABASE_HEADER #define DATABASE_HEADER -#include "config.h" -#include "map.h" -#include "mapsector.h" -#include "mapblock.h" -#include "main.h" -#include "filesys.h" -#include "serialization.h" -#include +#include +#include +#include "irr_v3d.h" +#include "irrlichttypes.h" -class Database; -class ServerMap; +#ifndef PP + #define PP(x) "("<<(x).X<<","<<(x).Y<<","<<(x).Z<<")" +#endif class Database { public: - virtual void beginSave()=0; - virtual void endSave()=0; - - virtual void saveBlock(MapBlock *block)=0; - virtual MapBlock* loadBlock(v3s16 blockpos)=0; - long long getBlockAsInteger(const v3s16 pos); - v3s16 getIntegerAsBlock(long long i); - virtual void listAllLoadableBlocks(std::list &dst)=0; - virtual int Initialized(void)=0; - virtual ~Database() {}; + virtual ~Database() {} + + virtual void beginSave() {} + virtual void endSave() {} + + virtual bool saveBlock(const v3s16 &pos, const std::string &data) = 0; + virtual std::string loadBlock(const v3s16 &pos) = 0; + virtual bool deleteBlock(const v3s16 &pos) = 0; + + static s64 getBlockAsInteger(const v3s16 &pos); + static v3s16 getIntegerAsBlock(s64 i); + + virtual void listAllLoadableBlocks(std::vector &dst) = 0; + + virtual bool initialized() const { return true; } }; + #endif +