X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fkeystore.h;h=3e56919d3bb8871c8a67ef94c5046be73f98fd7b;hb=d11488abd05cb39a9f481e7c4c35f780197a3d28;hp=1d068b4d75eeedb4c7ba337c651eac958fcb9ea4;hpb=922e8e2929a2e78270868385aa46f96002fbcff3;p=novacoin.git diff --git a/src/keystore.h b/src/keystore.h index 1d068b4..3e56919 100644 --- a/src/keystore.h +++ b/src/keystore.h @@ -1,20 +1,22 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2011 The Bitcoin developers +// Copyright (c) 2009-2012 The Bitcoin developers // Distributed under the MIT/X11 software license, see the accompanying -// file license.txt or http://www.opensource.org/licenses/mit-license.php. +// file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef BITCOIN_KEYSTORE_H #define BITCOIN_KEYSTORE_H #include "crypter.h" #include "script.h" -// A virtual base class for key stores +/** A virtual base class for key stores */ class CKeyStore { protected: mutable CCriticalSection cs_KeyStore; public: + virtual ~CKeyStore() {} + // Add a key to the store. virtual bool AddKey(const CKey& key) =0; @@ -29,8 +31,6 @@ public: virtual bool HaveCScript(const uint160 &hash) const =0; virtual bool GetCScript(const uint160 &hash, CScript& redeemScriptOut) const =0; - // Generate a new key, and add it to the store - virtual std::vector GenerateNewKey(); virtual bool GetSecret(const CBitcoinAddress &address, CSecret& vchSecret, bool &fCompressed) const { CKey key; @@ -44,7 +44,7 @@ public: typedef std::map > KeyMap; typedef std::map ScriptMap; -// Basic key store, that keeps keys in an address->secret map +/** Basic key store, that keeps keys in an address->secret map */ class CBasicKeyStore : public CKeyStore { protected: @@ -94,8 +94,9 @@ public: typedef std::map, std::vector > > CryptedKeyMap; -// Keystore which keeps the private keys encrypted -// It derives from the basic key store, which is used if no encryption is active. +/** Keystore which keeps the private keys encrypted. + * It derives from the basic key store, which is used if no encryption is active. + */ class CCryptoKeyStore : public CBasicKeyStore { private: