CatapultServer  v0.5.0.1 (Elephant)
TransactionPluginFactory.h File Reference
Include dependency graph for TransactionPluginFactory.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  catapult::model::TransactionPluginFactory< Options >
 Factory for creating transaction plugins. More...
 
class  catapult::model::TransactionPluginFactory< Options >::BasicTransactionPluginT< TTransaction, TDerivedTransaction, TPlugin >
 
class  catapult::model::TransactionPluginFactory< Options >::EmbeddedTransactionPluginT< TEmbeddedTransaction >
 
class  catapult::model::TransactionPluginFactory< Options >::TransactionPluginT< TTransaction, TEmbeddedTransaction >
 

Namespaces

 catapult
 
 catapult::model
 

Macros

#define DEFINE_TRANSACTION_PLUGIN_FACTORY(NAME, OPTIONS, PUBLISH)
 Defines a transaction plugin factory for NAME transaction with OPTIONS using PUBLISH. More...
 
#define DEFINE_TRANSACTION_PLUGIN_FACTORY_WITH_CONFIG(NAME, OPTIONS, PUBLISH, CONFIG_TYPE)
 Defines a transaction plugin factory for NAME transaction with OPTIONS using PUBLISH accepting CONFIG_TYPE configuration. More...
 

Enumerations

enum  catapult::model::TransactionPluginFactoryOptions { catapult::model::TransactionPluginFactoryOptions::Default, catapult::model::TransactionPluginFactoryOptions::Only_Embeddable }
 Transaction plugin factory options. More...
 

Macro Definition Documentation

◆ DEFINE_TRANSACTION_PLUGIN_FACTORY

#define DEFINE_TRANSACTION_PLUGIN_FACTORY (   NAME,
  OPTIONS,
  PUBLISH 
)
Value:
std::unique_ptr<TransactionPlugin> Create##NAME##TransactionPlugin() { \
using Factory = TransactionPluginFactory<TransactionPluginFactoryOptions::OPTIONS>; \
return Factory::Create<NAME##Transaction, Embedded##NAME##Transaction>( \
PUBLISH<NAME##Transaction>, \
PUBLISH<Embedded##NAME##Transaction>); \
}

Defines a transaction plugin factory for NAME transaction with OPTIONS using PUBLISH.

◆ DEFINE_TRANSACTION_PLUGIN_FACTORY_WITH_CONFIG

#define DEFINE_TRANSACTION_PLUGIN_FACTORY_WITH_CONFIG (   NAME,
  OPTIONS,
  PUBLISH,
  CONFIG_TYPE 
)
Value:
std::unique_ptr<TransactionPlugin> Create##NAME##TransactionPlugin(const CONFIG_TYPE& config) { \
using Factory = TransactionPluginFactory<TransactionPluginFactoryOptions::OPTIONS>; \
return Factory::Create<NAME##Transaction, Embedded##NAME##Transaction>( \
PUBLISH<NAME##Transaction>(config), \
PUBLISH<Embedded##NAME##Transaction>(config)); \
}

Defines a transaction plugin factory for NAME transaction with OPTIONS using PUBLISH accepting CONFIG_TYPE configuration.