CatapultServer  v0.5.0.1 (Elephant)
catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction > Class Template Reference
Inheritance diagram for catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >:
Collaboration diagram for catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >:

Public Member Functions

template<typename TPublishFunc , typename TPublishEmbeddedFunc >
 TransactionPluginT (TPublishFunc publishFunc, TPublishEmbeddedFunc publishEmbeddedFunc)
 
void publish (const WeakEntityInfoT< Transaction > &transactionInfo, NotificationSubscriber &sub) const override
 Sends all notifications from transactionInfo to sub. More...
 
RawBuffer dataBuffer (const Transaction &transaction) const override
 Extracts the primary data buffer from transaction that is used for signing and basic hashing. More...
 
std::vector< RawBuffer > merkleSupplementaryBuffers (const Transaction &) const override
 
bool supportsTopLevel () const override
 true if this transaction type supports being embedded directly in blocks. More...
 
bool supportsEmbedding () const override
 true if this transaction type supports being embedded in other transactions. More...
 
const EmbeddedTransactionPluginembeddedPlugin () const override
 Gets the corresponding embedded plugin if supportsEmbedding() is true. More...
 
- Public Member Functions inherited from catapult::model::TransactionPluginFactory< Options >::BasicTransactionPluginT< Transaction, TTransaction, TransactionPlugin >
 BasicTransactionPluginT (const PublishFunc &publishFunc)
 
EntityType type () const override
 
TransactionAttributes attributes () const override
 
uint64_t calculateRealSize (const Transaction &transaction) const override
 
- Public Member Functions inherited from catapult::model::TransactionPluginT< Transaction >
virtual ~TransactionPluginT ()=default
 

Private Types

using BaseType = BasicTransactionPluginT< Transaction, TTransaction, TransactionPlugin >
 

Private Attributes

std::unique_ptr< EmbeddedTransactionPluginm_pEmbeddedTransactionPlugin
 

Additional Inherited Members

- Protected Member Functions inherited from catapult::model::TransactionPluginFactory< Options >::BasicTransactionPluginT< Transaction, TTransaction, TransactionPlugin >
void publishImpl (const Transaction &transaction, NotificationSubscriber &sub) const
 

Member Typedef Documentation

◆ BaseType

template<TransactionPluginFactoryOptions Options>
template<typename TTransaction , typename TEmbeddedTransaction >
using catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >::BaseType = BasicTransactionPluginT<Transaction, TTransaction, TransactionPlugin>
private

Constructor & Destructor Documentation

◆ TransactionPluginT()

template<TransactionPluginFactoryOptions Options>
template<typename TTransaction , typename TEmbeddedTransaction >
template<typename TPublishFunc , typename TPublishEmbeddedFunc >
catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >::TransactionPluginT ( TPublishFunc  publishFunc,
TPublishEmbeddedFunc  publishEmbeddedFunc 
)
inlineexplicit

Member Function Documentation

◆ dataBuffer()

template<TransactionPluginFactoryOptions Options>
template<typename TTransaction , typename TEmbeddedTransaction >
RawBuffer catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >::dataBuffer ( const Transaction transaction) const
inlineoverridevirtual

Extracts the primary data buffer from transaction that is used for signing and basic hashing.

Implements catapult::model::TransactionPlugin.

◆ embeddedPlugin()

template<TransactionPluginFactoryOptions Options>
template<typename TTransaction , typename TEmbeddedTransaction >
const EmbeddedTransactionPlugin& catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >::embeddedPlugin ( ) const
inlineoverridevirtual

Gets the corresponding embedded plugin if supportsEmbedding() is true.

Implements catapult::model::TransactionPlugin.

◆ merkleSupplementaryBuffers()

template<TransactionPluginFactoryOptions Options>
template<typename TTransaction , typename TEmbeddedTransaction >
std::vector<RawBuffer> catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >::merkleSupplementaryBuffers ( const Transaction transaction) const
inlineoverridevirtual

Extracts additional buffers from transaction that should be included in the merkle hash in addition to the primary data buffer.

Implements catapult::model::TransactionPlugin.

◆ publish()

template<TransactionPluginFactoryOptions Options>
template<typename TTransaction , typename TEmbeddedTransaction >
void catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >::publish ( const WeakEntityInfoT< Transaction > &  transactionInfo,
NotificationSubscriber sub 
) const
inlineoverridevirtual

Sends all notifications from transactionInfo to sub.

Implements catapult::model::TransactionPlugin.

Here is the call graph for this function:

◆ supportsEmbedding()

template<TransactionPluginFactoryOptions Options>
template<typename TTransaction , typename TEmbeddedTransaction >
bool catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >::supportsEmbedding ( ) const
inlineoverridevirtual

true if this transaction type supports being embedded in other transactions.

Implements catapult::model::TransactionPlugin.

◆ supportsTopLevel()

template<TransactionPluginFactoryOptions Options>
template<typename TTransaction , typename TEmbeddedTransaction >
bool catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >::supportsTopLevel ( ) const
inlineoverridevirtual

true if this transaction type supports being embedded directly in blocks.

Implements catapult::model::TransactionPlugin.

Member Data Documentation

◆ m_pEmbeddedTransactionPlugin

template<TransactionPluginFactoryOptions Options>
template<typename TTransaction , typename TEmbeddedTransaction >
std::unique_ptr<EmbeddedTransactionPlugin> catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >::m_pEmbeddedTransactionPlugin
private

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