X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fdb.h;h=a899e51e40c7f80617e8445999897280f00a6328;hb=9795536e660254a25984d0fc81a548eaf0e91c92;hp=a86c110b3f564f69e10dce3e8ca0193ebd71f6be;hpb=0fa89d8e816807a621419495d7bdc6366979a0f0;p=novacoin.git diff --git a/src/db.h b/src/db.h index a86c110..a899e51 100644 --- a/src/db.h +++ b/src/db.h @@ -1,4 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto +// Copyright (c) 2011 The Bitcoin developers +// Copyright (c) 2011-2012 The PPCoin developers // Distributed under the MIT/X11 software license, see the accompanying // file license.txt or http://www.opensource.org/licenses/mit-license.php. #ifndef BITCOIN_DB_H @@ -27,14 +29,12 @@ class CBlockLocator; extern unsigned int nWalletDBUpdated; extern DbEnv dbenv; - extern void DBFlush(bool fShutdown); void ThreadFlushWalletDB(void* parg); bool BackupWallet(const CWallet& wallet, const std::string& strDest); - class CDB { protected: @@ -88,7 +88,7 @@ protected: if (!pdb) return false; if (fReadOnly) - assert(("Write called on database in read-only mode", false)); + assert(!"Write called on database in read-only mode"); // Key CDataStream ssKey(SER_DISK); @@ -117,7 +117,7 @@ protected: if (!pdb) return false; if (fReadOnly) - assert(("Erase called on database in read-only mode", false)); + assert(!"Erase called on database in read-only mode"); // Key CDataStream ssKey(SER_DISK); @@ -256,6 +256,8 @@ public: { return Write(std::string("version"), nVersion); } + + bool static Rewrite(const std::string& strFile, const char* pszSkip = NULL); }; @@ -287,8 +289,10 @@ public: bool EraseBlockIndex(uint256 hash); bool ReadHashBestChain(uint256& hashBestChain); bool WriteHashBestChain(uint256 hashBestChain); - bool ReadBestInvalidWork(CBigNum& bnBestInvalidWork); - bool WriteBestInvalidWork(CBigNum bnBestInvalidWork); + bool ReadBestInvalidTrust(uint64& nBestInvalidTrust); + bool WriteBestInvalidTrust(uint64 nBestInvalidTrust); + bool ReadSyncCheckpoint(uint256& hashCheckpoint); + bool WriteSyncCheckpoint(uint256 hashCheckpoint); bool LoadBlockIndex(); }; @@ -346,7 +350,9 @@ enum DBErrors { DB_LOAD_OK, DB_CORRUPT, - DB_TOO_NEW + DB_TOO_NEW, + DB_LOAD_FAIL, + DB_NEED_REWRITE }; class CWalletDB : public CDB