NAP
Public Member Functions | List of all members
ModuleManager Class Referencefinal

#include <nap/modulemanager.h>

Public Member Functions

 ModuleManager ()=default
 
 ModuleManager (ModuleManager &)=delete
 
ModuleManageroperator= (const ModuleManager &)=delete
 
 ModuleManager (ModuleManager &&)=delete
 
ModuleManageroperator= (ModuleManager &&)=delete
 
bool loadModules (const ProjectInfo &projectInfo, utility::ErrorState &error)
 
const std::vector< const Module * > & getModules () const
 
const ModulefindModule (const std::string &moduleName) const
 
const ModulefindModule (const nap::rtti::TypeInfo &serviceType) const
 
template<typename T >
const ModulefindModule () const
 

Description

Responsible for dynamically loading NAP modules.

Constructor & Destructor Documentation

◆ ModuleManager() [1/3]

ModuleManager ( )
default

◆ ModuleManager() [2/3]

ModuleManager ( ModuleManager )
delete

◆ ModuleManager() [3/3]

ModuleManager ( ModuleManager &&  )
delete

Member Function Documentation

◆ findModule() [1/3]

const Module* findModule ( ) const

Find the module associated with the given service of type T.

Returns
The object providing access to the Module, nullptr if not found.

◆ findModule() [2/3]

const Module* findModule ( const nap::rtti::TypeInfo serviceType) const

Find the module associated with the given service

Parameters
serviceTypeThe type of the service associated with the module
Returns
The object providing access to the Module, nullptr if not found.

◆ findModule() [3/3]

const Module* findModule ( const std::string &  moduleName) const

Find a loaded module by its name as defined in its descriptor file

Parameters
moduleNameThe name of the module to find
Returns
The object providing access to the Module, nullptr if not found.

◆ getModules()

const std::vector<const Module*>& getModules ( ) const
Returns
All currently loaded modules

◆ loadModules()

bool loadModules ( const ProjectInfo projectInfo,
utility::ErrorState error 
)

Load all modules required by the project

Parameters
projectInfoproject descriptor that provides top level module dependencies
errorcontains the error if loading fails
Returns
if loading succeeded

◆ operator=() [1/2]

ModuleManager& operator= ( const ModuleManager )
delete

◆ operator=() [2/2]

ModuleManager& operator= ( ModuleManager &&  )
delete