Make HardFork object available to BlockchainDB and derived DB implementations

This will later allow the HardFork object's DB update functions to be
called when the DB transaction that persists across block add/remove is
open.
This commit is contained in:
warptangent
2016-02-08 07:51:57 -08:00
parent fd46c96dce
commit 3800875406
5 changed files with 18 additions and 0 deletions
+7
View File
@@ -28,12 +28,15 @@
#ifndef BLOCKCHAIN_DB_H
#define BLOCKCHAIN_DB_H
#pragma once
#include <list>
#include <string>
#include <exception>
#include "crypto/hash.h"
#include "cryptonote_core/cryptonote_basic.h"
#include "cryptonote_core/difficulty.h"
#include "cryptonote_core/hardfork.h"
/* DB Driver Interface
*
@@ -322,6 +325,8 @@ protected:
uint64_t time_commit1 = 0;
bool m_auto_remove_logs = true;
HardFork* m_hardfork;
public:
// virtual dtor
@@ -372,6 +377,8 @@ public:
virtual void block_txn_stop() = 0;
virtual void block_txn_abort() = 0;
virtual void set_hard_fork(HardFork*& hf);
// adds a block with the given metadata to the top of the blockchain, returns the new height
// NOTE: subclass implementations of this (or the functions it calls) need
// to handle undoing any partially-added blocks in the event of a failure.