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

#include <nap/modulemanager.h>

Public Member Functions

 ModuleManager (Core &core)
 
 ~ModuleManager ()
 
 ModuleManager (ModuleManager &)=delete
 
ModuleManageroperator= (const ModuleManager &)=delete
 
 ModuleManager (ModuleManager &&)=delete
 
ModuleManageroperator= (ModuleManager &&)=delete
 
bool loadModules (const ProjectInfo &projectInfo, utility::ErrorState &error)
 
std::vector< nap::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 ( Core core)

◆ ~ModuleManager()

◆ 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()

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

◆ loadModules()

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

Load all modules that are required by the project

Parameters
projectInfoThe descriptor providing the module dependencies
errorAny errors will be stored here
Returns
True on success, false otherwise

◆ operator=() [1/2]

ModuleManager& operator= ( const ModuleManager )
delete

◆ operator=() [2/2]

ModuleManager& operator= ( ModuleManager &&  )
delete