lintel 0.2.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
lintel::FeatureInterface Class Referenceabstract

#include <Feature.h>

Inheritance diagram for lintel::FeatureInterface:
lintel::Feature< Features::Value > lintel::Feature< T, > lintel::BaseFeature lintel::CommandLineFeature lintel::HttpFeature lintel::PropertyFeature

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
 

Detailed Description

Interface for all feature implementations

Constructor & Destructor Documentation

◆ ~FeatureInterface()

virtual lintel::FeatureInterface::~FeatureInterface ( )
virtualdefault

Virtual destructor: features are deleted through this interface

Member Function Documentation

◆ getName()

virtual std::string_view lintel::FeatureInterface::getName ( )
pure virtual

Get the name of this feature

Implemented in lintel::Feature< T, >, and lintel::Feature< Features::Value >.

◆ initialize()

virtual void lintel::FeatureInterface::initialize ( std::shared_ptr< lintel::di::Container >  container)
pure virtual

◆ registerTypes() [1/2]

virtual void lintel::FeatureInterface::registerTypes ( lintel::di::ContainerBuilder &  builder)
pure virtual

◆ registerTypes() [2/2]

virtual void lintel::FeatureInterface::registerTypes ( lintel::di::ContainerBuilder &  builder,
const std::shared_ptr< Configuration > &  configuration,
const std::shared_ptr< ProcessName > &  processName 
)
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).

Parameters
builderthe DI container builder
configurationthe parsed application configuration
processNamethe process name of the running process

Reimplemented in lintel::BaseFeature.


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