NRP Core  1.4.1
EngineClient< ENGINE, SCHEMA >::EngineLauncher< ENGINE_TYPE > Class Template Reference

Class for launching engine. More...

#include <engine_client_interface.h>

Inheritance diagram for EngineClient< ENGINE, SCHEMA >::EngineLauncher< ENGINE_TYPE >:
EngineLauncherInterface PtrTemplates< EngineLauncherInterface >

Public Member Functions

 EngineLauncher ()
 
 EngineLauncher (const engine_type_t &engineType)
 
 ~EngineLauncher () override=default
 
EngineClientInterfaceSharedPtr launchEngine (nlohmann::json &engineConfig, ProcessLauncherInterface::unique_ptr &&launcher) override
 Launches an engine. Configures config and forks a new child process for the engine. More...
 
- Public Member Functions inherited from EngineLauncherInterface
 EngineLauncherInterface (const engine_type_t &engineType)
 
virtual ~EngineLauncherInterface ()=default
 
const engine_type_tengineType () const
 

Additional Inherited Members

- Public Types inherited from EngineLauncherInterface
using engine_type_t = decltype(DataPackIdentifier::Type)
 
- Public Types inherited from PtrTemplates< EngineLauncherInterface >
using shared_ptr = std::shared_ptr< EngineLauncherInterface >
 
using const_shared_ptr = std::shared_ptr< const EngineLauncherInterface >
 
using unique_ptr = std::unique_ptr< EngineLauncherInterface >
 
using const_unique_ptr = std::unique_ptr< const EngineLauncherInterface >
 

Detailed Description

template<class ENGINE, const char * SCHEMA>
template<const char * ENGINE_TYPE>
class EngineClient< ENGINE, SCHEMA >::EngineLauncher< ENGINE_TYPE >

Class for launching engine.

Template Parameters
ENGINE_TYPEDefault engine type

Constructor & Destructor Documentation

◆ EngineLauncher() [1/2]

template<class ENGINE , const char * SCHEMA>
template<const char * ENGINE_TYPE>
EngineClient< ENGINE, SCHEMA >::EngineLauncher< ENGINE_TYPE >::EngineLauncher ( )
inline

◆ EngineLauncher() [2/2]

template<class ENGINE , const char * SCHEMA>
template<const char * ENGINE_TYPE>
EngineClient< ENGINE, SCHEMA >::EngineLauncher< ENGINE_TYPE >::EngineLauncher ( const engine_type_t engineType)
inline

◆ ~EngineLauncher()

template<class ENGINE , const char * SCHEMA>
template<const char * ENGINE_TYPE>
EngineClient< ENGINE, SCHEMA >::EngineLauncher< ENGINE_TYPE >::~EngineLauncher ( )
overridedefault

Member Function Documentation

◆ launchEngine()

template<class ENGINE , const char * SCHEMA>
template<const char * ENGINE_TYPE>
EngineClientInterfaceSharedPtr EngineClient< ENGINE, SCHEMA >::EngineLauncher< ENGINE_TYPE >::launchEngine ( nlohmann::json engineConfig,
ProcessLauncherInterface::unique_ptr &&  launcher 
)
inlineoverridevirtual

Launches an engine. Configures config and forks a new child process for the engine.

Parameters
engineConfigEngine Configuration
launcherProcess Forker
Returns
Returns pointer to EngineClientInterface

Implements EngineLauncherInterface.


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