Bitcoin Core 29.99.0
P2P Digital Currency
Public Member Functions | Public Attributes | List of all members
wallet::MockableDatabase Class Reference

A WalletDatabase whose contents and return values can be modified as needed for testing. More...

#include <util.h>

Inheritance diagram for wallet::MockableDatabase:
[legend]
Collaboration diagram for wallet::MockableDatabase:
[legend]

Public Member Functions

 MockableDatabase (MockableData records={})
 
 ~MockableDatabase ()=default
 
void Open () override
 Open the database if it is not already opened. More...
 
bool Rewrite (const char *pszSkip=nullptr) override
 Rewrite the entire database on disk, with the exception of key pszSkip if non-zero. More...
 
bool Backup (const std::string &strDest) const override
 Back up the entire database to a file. More...
 
void Close () override
 Flush to the database file and close the database. More...
 
std::string Filename () override
 Return path to main database file for logs and error messages. More...
 
std::string Format () override
 
std::unique_ptr< DatabaseBatchMakeBatch () override
 Make a DatabaseBatch connected to this database. More...
 
- Public Member Functions inherited from wallet::WalletDatabase
 WalletDatabase ()=default
 Create dummy DB handle. More...
 
virtual ~WalletDatabase ()=default
 
virtual void Open ()=0
 Open the database if it is not already opened. More...
 
virtual bool Rewrite (const char *pszSkip=nullptr)=0
 Rewrite the entire database on disk, with the exception of key pszSkip if non-zero. More...
 
virtual bool Backup (const std::string &strDest) const =0
 Back up the entire database to a file. More...
 
virtual void Close ()=0
 Flush to the database file and close the database. More...
 
virtual std::string Filename ()=0
 Return path to main database file for logs and error messages. More...
 
virtual std::string Format ()=0
 
virtual std::unique_ptr< DatabaseBatchMakeBatch ()=0
 Make a DatabaseBatch connected to this database. More...
 

Public Attributes

MockableData m_records
 
bool m_pass {true}
 
- Public Attributes inherited from wallet::WalletDatabase
std::atomic< int > m_refcount {0}
 Counts the number of active database users to be sure that the database is not closed while someone is using it. More...
 

Detailed Description

A WalletDatabase whose contents and return values can be modified as needed for testing.

Definition at line 96 of file util.h.

Constructor & Destructor Documentation

◆ MockableDatabase()

wallet::MockableDatabase::MockableDatabase ( MockableData  records = {})
inline

Definition at line 102 of file util.h.

◆ ~MockableDatabase()

wallet::MockableDatabase::~MockableDatabase ( )
default

Member Function Documentation

◆ Backup()

bool wallet::MockableDatabase::Backup ( const std::string &  strDest) const
inlineoverridevirtual

Back up the entire database to a file.

Implements wallet::WalletDatabase.

Definition at line 108 of file util.h.

◆ Close()

void wallet::MockableDatabase::Close ( )
inlineoverridevirtual

Flush to the database file and close the database.

Also close the environment if no other databases are open in it.

Implements wallet::WalletDatabase.

Definition at line 109 of file util.h.

◆ Filename()

std::string wallet::MockableDatabase::Filename ( )
inlineoverridevirtual

Return path to main database file for logs and error messages.

Implements wallet::WalletDatabase.

Definition at line 111 of file util.h.

◆ Format()

std::string wallet::MockableDatabase::Format ( )
inlineoverridevirtual

Implements wallet::WalletDatabase.

Definition at line 112 of file util.h.

◆ MakeBatch()

std::unique_ptr< DatabaseBatch > wallet::MockableDatabase::MakeBatch ( )
inlineoverridevirtual

Make a DatabaseBatch connected to this database.

Implements wallet::WalletDatabase.

Definition at line 113 of file util.h.

◆ Open()

void wallet::MockableDatabase::Open ( )
inlineoverridevirtual

Open the database if it is not already opened.

Implements wallet::WalletDatabase.

Definition at line 105 of file util.h.

◆ Rewrite()

bool wallet::MockableDatabase::Rewrite ( const char *  pszSkip = nullptr)
inlineoverridevirtual

Rewrite the entire database on disk, with the exception of key pszSkip if non-zero.

Implements wallet::WalletDatabase.

Definition at line 107 of file util.h.

Member Data Documentation

◆ m_pass

bool wallet::MockableDatabase::m_pass {true}

Definition at line 100 of file util.h.

◆ m_records

MockableData wallet::MockableDatabase::m_records

Definition at line 99 of file util.h.


The documentation for this class was generated from the following file: