lintel 0.2.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Friends | List of all members
lintel::AbstractService< T > Class Template Reference

#include <AbstractService.h>

Inheritance diagram for lintel::AbstractService< T >:
lintel::AbstractServiceInterface lintel::PropertyRegistration< AuthService > lintel::PropertyRegistration< CommandLineHistoryService > lintel::PropertyRegistration< HistoryService > lintel::PropertyRegistration< ProcessService > lintel::PropertyRegistration< SchedulerService > lintel::PropertyRegistration< SharedMemoryService > lintel::PropertyRegistration< T > lintel::AuthService lintel::CommandLineHistoryService lintel::HistoryService lintel::ProcessService lintel::SchedulerService lintel::SharedMemoryService

Public Member Functions

 AbstractService ()=delete
 
 AbstractService (std::string processName, std::string instanceName)
 
 AbstractService (std::string processName)
 
void onInitialize () override
 
void onShutdown () override
 
ShutdownPriority shutdownPriorityOf () const override
 
const std::string & getProcessName () const override
 
const std::string & getInstanceName () const override
 
std::string_view getClassName () const override
 
- Public Member Functions inherited from lintel::AbstractServiceInterface
virtual ~AbstractServiceInterface ()=default
 

Protected Attributes

std::vector< std::shared_ptr< PropertyBase > > m_properties
 

Friends

std::ostream & operator<< (std::ostream &os, const AbstractService &service)
 

Detailed Description

template<class T>
class lintel::AbstractService< T >

Every Service must be derived from this service to make sure that basic information gets provided

These information are for example needed for initializing the Properties

Constructor & Destructor Documentation

◆ AbstractService() [1/3]

template<class T >
lintel::AbstractService< T >::AbstractService ( )
delete

◆ AbstractService() [2/3]

template<class T >
lintel::AbstractService< T >::AbstractService ( std::string  processName,
std::string  instanceName 
)
inline

Construct an AbstractService with a process name and instance name.

Parameters
processNamethe process name
instanceNamethe instance name

◆ AbstractService() [3/3]

template<class T >
lintel::AbstractService< T >::AbstractService ( std::string  processName)
inlineexplicit

Construct an AbstractService with only a process name (instance defaults to "__DEFAULT").

Parameters
processNamethe process name

Member Function Documentation

◆ getClassName()

template<class T >
std::string_view lintel::AbstractService< T >::getClassName ( ) const
inlineoverridevirtual

Returns the class name via type_name<T>().

Returns
the class name

Implements lintel::AbstractServiceInterface.

◆ getInstanceName()

template<class T >
const std::string & lintel::AbstractService< T >::getInstanceName ( ) const
inlineoverridevirtual

Returns the instance name.

Returns
the instance name

Implements lintel::AbstractServiceInterface.

◆ getProcessName()

template<class T >
const std::string & lintel::AbstractService< T >::getProcessName ( ) const
inlineoverridevirtual

Returns the process name.

Returns
the process name

Implements lintel::AbstractServiceInterface.

Reimplemented in lintel::HistoryService.

◆ onInitialize()

template<class T >
void lintel::AbstractService< T >::onInitialize ( )
inlineoverridevirtual

◆ onShutdown()

template<class T >
void lintel::AbstractService< T >::onShutdown ( )
inlineoverridevirtual

◆ shutdownPriorityOf()

template<class T >
ShutdownPriority lintel::AbstractService< T >::shutdownPriorityOf ( ) const
inlineoverridevirtual

Returns the default shutdown priority.

Returns
ShutdownPriority::DEFAULT

Implements lintel::AbstractServiceInterface.

Reimplemented in lintel::ProcessService.

Friends And Related Symbol Documentation

◆ operator<<

template<class T >
std::ostream & operator<< ( std::ostream &  os,
const AbstractService< T > &  service 
)
friend

Member Data Documentation

◆ m_properties

template<class T >
std::vector<std::shared_ptr<PropertyBase> > lintel::AbstractService< T >::m_properties
protected

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