#include <modulemanager.h>

Definition at line 40 of file modulemanager.h.
Public Member Functions | |
| ModuleManager (Repository *repository, bool isRConsole=false) | |
| Constructor. | |
| bool | instantiateModules (const ModuleConfigVector &) |
| Instantiates all modules. | |
| bool | instantiateAdditionalModule (const ModuleConfig &cm, bool alsoStart=true) |
| Instantiates an additional (i.e. after global initialization) module; this will also init and start the module. | |
| bool | initAllModules () |
| Calls init*() of every module. | |
| void | startAllModules () |
| Instantiates a thread for each module exec(). | |
| ModuleConfigVector | getModuleConfigs () |
| Creates the module configurations. | |
| void | endAllModules () |
| Signal something to the module (requestEnd()) and wait for each exec() to exit. | |
| void | cleanupAllModules () |
| Calls cleanup() of each module. | |
| bool | requestExitForModule (cstr instanceName) |
| bool | deleteModule (cstr instanceName) |
| Ends, calls cleanup and removes the module. | |
Data Fields | |
| PosixMutex | moduleListMutex |
| list< Module * > | modules |
| RDK2::RAgent::ModuleManager::ModuleManager | ( | Repository * | repository, | |
| bool | isRConsole = false | |||
| ) |
| bool RDK2::RAgent::ModuleManager::instantiateModules | ( | const ModuleConfigVector & | ml | ) |
Instantiates all modules.
Definition at line 38 of file modulemanager.cpp.
References RDK2::Containers::Vector< RType >::begin(), and RDK2::Containers::Vector< RType >::end().

| bool RDK2::RAgent::ModuleManager::instantiateAdditionalModule | ( | const ModuleConfig & | cm, | |
| bool | alsoStart = true | |||
| ) |
Instantiates an additional (i.e. after global initialization) module; this will also init and start the module.
Definition at line 89 of file modulemanager.cpp.
References RDK2::RAgent::Module::init(), RDK2::RAgent::Module::initInterfaceProperties(), RDK2::RAgent::Module::initWithModuleConfig(), RDK_ERROR_STREAM, and RDK2::RAgent::Module::start().

| bool RDK2::RAgent::ModuleManager::initAllModules | ( | ) |
Calls init*() of every module.
Definition at line 124 of file modulemanager.cpp.
References DOUT, HERE, PosixConstructs::PosixMutex::lock(), moduleListMutex, modules, RDK_ERROR_STREAM, RDK_INFO_STREAM, and PosixConstructs::PosixMutex::unlock().

| void RDK2::RAgent::ModuleManager::startAllModules | ( | ) |
Instantiates a thread for each module exec().
Definition at line 143 of file modulemanager.cpp.
References DOUT, HERE, PosixConstructs::PosixMutex::lock(), moduleListMutex, modules, RDK_INFO_STREAM, and PosixConstructs::PosixMutex::unlock().

| ModuleConfigVector RDK2::RAgent::ModuleManager::getModuleConfigs | ( | ) |
Creates the module configurations.
Definition at line 155 of file modulemanager.cpp.
References HERE, PosixConstructs::PosixMutex::lock(), moduleListMutex, modules, RDK2::Containers::Vector< RType >::push_back(), and PosixConstructs::PosixMutex::unlock().

| void RDK2::RAgent::ModuleManager::endAllModules | ( | ) |
Signal something to the module (requestEnd()) and wait for each exec() to exit.
Definition at line 207 of file modulemanager.cpp.
References DOUT, HERE, PosixConstructs::PosixMutex::lock(), moduleListMutex, modules, and PosixConstructs::PosixMutex::unlock().

| void RDK2::RAgent::ModuleManager::cleanupAllModules | ( | ) |
Calls cleanup() of each module.
Definition at line 225 of file modulemanager.cpp.
References DOUT, HERE, PosixConstructs::PosixMutex::lock(), moduleListMutex, modules, and PosixConstructs::PosixMutex::unlock().

Ends, calls cleanup and removes the module.
Definition at line 179 of file modulemanager.cpp.
References DOUT, modules, and RDK_ERROR_PRINTF.
| PosixMutex RDK2::RAgent::ModuleManager::moduleListMutex |
Definition at line 71 of file modulemanager.h.
Referenced by cleanupAllModules(), endAllModules(), getModuleConfigs(), initAllModules(), and startAllModules().
Definition at line 72 of file modulemanager.h.
Referenced by cleanupAllModules(), deleteModule(), endAllModules(), getModuleConfigs(), initAllModules(), requestExitForModule(), and startAllModules().
1.5.6