CatapultServer  v0.5.0.1 (Elephant)
catapult::mongo::MongoPluginManager Class Reference

A manager for registering mongo plugins. More...

Collaboration diagram for catapult::mongo::MongoPluginManager:

Public Member Functions

 MongoPluginManager (MongoStorageContext &mongoContext, model::NetworkIdentifier networkIdentifier)
 Creates a new plugin manager around mongoContext and networkIdentifier. More...
 
MongoStorageContextmongoContext () const
 Gets the mongo storage context. More...
 
model::NetworkIdentifier networkIdentifier () const
 Gets the network idenfifier. More...
 
void addTransactionSupport (std::unique_ptr< MongoTransactionPlugin > &&pTransactionPlugin)
 Adds support for a transaction described by pTransactionPlugin. More...
 
void addReceiptSupport (std::unique_ptr< MongoReceiptPlugin > &&pReceiptPlugin)
 Adds support for a receipt described by pReceiptPlugin. More...
 
template<typename TStorage >
void addStorageSupport (std::unique_ptr< TStorage > &&pStorage)
 Adds support for an external cache storage described by pStorage. More...
 
const MongoTransactionRegistrytransactionRegistry () const
 Gets the transaction registry. More...
 
const MongoReceiptRegistryreceiptRegistry () const
 Gets the receipt registry. More...
 
std::unique_ptr< ExternalCacheStoragecreateStorage ()
 Creates an external cache storage. More...
 

Private Attributes

MongoStorageContextm_mongoContext
 
model::NetworkIdentifier m_networkIdentifier
 
MongoTransactionRegistry m_transactionRegistry
 
MongoReceiptRegistry m_receiptRegistry
 
ExternalCacheStorageBuilder m_storageBuilder
 

Detailed Description

A manager for registering mongo plugins.

Constructor & Destructor Documentation

◆ MongoPluginManager()

catapult::mongo::MongoPluginManager::MongoPluginManager ( MongoStorageContext mongoContext,
model::NetworkIdentifier  networkIdentifier 
)
inlineexplicit

Creates a new plugin manager around mongoContext and networkIdentifier.

Member Function Documentation

◆ addReceiptSupport()

void catapult::mongo::MongoPluginManager::addReceiptSupport ( std::unique_ptr< MongoReceiptPlugin > &&  pReceiptPlugin)
inline

Adds support for a receipt described by pReceiptPlugin.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addStorageSupport()

template<typename TStorage >
void catapult::mongo::MongoPluginManager::addStorageSupport ( std::unique_ptr< TStorage > &&  pStorage)
inline

Adds support for an external cache storage described by pStorage.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ addTransactionSupport()

void catapult::mongo::MongoPluginManager::addTransactionSupport ( std::unique_ptr< MongoTransactionPlugin > &&  pTransactionPlugin)
inline

Adds support for a transaction described by pTransactionPlugin.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ createStorage()

std::unique_ptr<ExternalCacheStorage> catapult::mongo::MongoPluginManager::createStorage ( )
inline

Creates an external cache storage.

Here is the call graph for this function:

◆ mongoContext()

MongoStorageContext& catapult::mongo::MongoPluginManager::mongoContext ( ) const
inline

Gets the mongo storage context.

Here is the caller graph for this function:

◆ networkIdentifier()

model::NetworkIdentifier catapult::mongo::MongoPluginManager::networkIdentifier ( ) const
inline

Gets the network idenfifier.

Here is the caller graph for this function:

◆ receiptRegistry()

const MongoReceiptRegistry& catapult::mongo::MongoPluginManager::receiptRegistry ( ) const
inline

Gets the receipt registry.

◆ transactionRegistry()

const MongoTransactionRegistry& catapult::mongo::MongoPluginManager::transactionRegistry ( ) const
inline

Gets the transaction registry.

Here is the caller graph for this function:

Member Data Documentation

◆ m_mongoContext

MongoStorageContext& catapult::mongo::MongoPluginManager::m_mongoContext
private

◆ m_networkIdentifier

model::NetworkIdentifier catapult::mongo::MongoPluginManager::m_networkIdentifier
private

◆ m_receiptRegistry

MongoReceiptRegistry catapult::mongo::MongoPluginManager::m_receiptRegistry
private

◆ m_storageBuilder

ExternalCacheStorageBuilder catapult::mongo::MongoPluginManager::m_storageBuilder
private

◆ m_transactionRegistry

MongoTransactionRegistry catapult::mongo::MongoPluginManager::m_transactionRegistry
private

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