|
lintel 0.2.0
|
#include <Feature.h>
Public Member Functions | |
| virtual | ~FeatureInterface ()=default |
| virtual void | registerTypes (lintel::di::ContainerBuilder &builder)=0 |
| virtual void | registerTypes (lintel::di::ContainerBuilder &builder, const std::shared_ptr< Configuration > &configuration, const std::shared_ptr< ProcessName > &processName) |
| virtual void | initialize (std::shared_ptr< lintel::di::Container > container)=0 |
| virtual std::string_view | getName ()=0 |
Interface for all feature implementations
|
virtualdefault |
Virtual destructor: features are deleted through this interface
|
pure virtual |
Get the name of this feature
Implemented in lintel::Feature< T, >, and lintel::Feature< Features::Value >.
|
pure virtual |
Initialize the feature with the resolved container
Implemented in lintel::BaseFeature, lintel::CommandLineFeature, lintel::HttpFeature, lintel::PropertyFeature, lintel::Feature< T, >, and lintel::Feature< Features::Value >.
|
pure virtual |
Register dependency injection types for this feature
Implemented in lintel::BaseFeature, lintel::CommandLineFeature, lintel::HttpFeature, lintel::PropertyFeature, lintel::Feature< T, >, and lintel::Feature< Features::Value >.
|
inlinevirtual |
Register dependency injection types for this feature.
The configuration and process name are available at registration time so that features can conditionally register types (e.g. a service that is only created in the process explicitly configured as its owner).
| builder | the DI container builder |
| configuration | the parsed application configuration |
| processName | the process name of the running process |
Reimplemented in lintel::BaseFeature.