ModuleManager class.
More...
#include <ModuleManager.h>
|
| | ModuleManager (coil::Properties &prop) |
| | Constructor.
|
| |
| | ~ModuleManager () |
| | Destructor.
|
| |
| std::string | load (const std::string &file_name) |
| | Load the module.
|
| |
| std::string | load (const std::string &file_name, const std::string &init_func) |
| | Load and intialize the module.
|
| |
| void | unload (const std::string &file_name) |
| | Unload the module.
|
| |
| void | unloadAll () |
| | Unload all modules.
|
| |
| void * | symbol (const std::string &file_name, const std::string &func_name) |
| | Refer to the symbol of the module .
|
| |
| void | setLoadpath (const std::vector< std::string > &load_path) |
| | Set the module load path.
|
| |
| std::vector< std::string > | getLoadPath () |
| | Get the module load path.
|
| |
| void | addLoadpath (const std::vector< std::string > &load_path) |
| | Add the module load path.
|
| |
| std::vector< coil::Properties > | getLoadedModules () |
| | Get the module list that has been loaded.
|
| |
| std::vector< coil::Properties > | getLoadableModules () |
| | Get the loadable module list.
|
| |
| void | allowAbsolutePath () |
| | Allow absolute path when specify module path.
|
| |
| void | disallowAbsolutePath () |
| | Disallow absolute path when specify module path.
|
| |
| void | allowModuleDownload () |
| | Allow URL when specify module path.
|
| |
| void | disallowModuleDownload () |
| | Disallow URL when specify module path.
|
| |
| std::string | findFile (const std::string &fname, const std::vector< std::string > &load_path) |
| | Search the file from the LoadPath.
|
| |
| bool | fileExist (const std::string &filename) |
| | Check whether the file exists.
|
| |
| std::string | getInitFuncName (const std::string &file_path) |
| | Create initialization function symbol.
|
| |
|
| void | removeInvalidModules () |
| | Removing incalid module profiles .
|
| |
| void | getModuleList (const std::string &lang, coil::vstring &modules) |
| | Getting loadable file list on the loadpath for given language .
|
| |
| void | addNewFile (const std::string &fpath, coil::vstring &modules, const std::string &lang) |
| | Adding file path not existing cache .
|
| |
| void | getModuleProfiles (const std::string &lang, const coil::vstring &modules, vProperties &modprops) |
| | Getting module properties from given language and file list .
|
| |
ModuleManager class.
This is a class to manage for loading and unloading modules.
- Since
- 0.4.0
◆ DllMap
◆ DllMapConstItr
◆ DllMapItr
◆ ModuleInitFunc
◆ StringVector
◆ StringVectorConstItr
◆ StringVectorItr
◆ ModuleManager()
| RTC::ModuleManager::ModuleManager |
( |
coil::Properties & | prop | ) |
|
|
explicit |
Constructor.
Constructor. Initialize based on information in the set Property object.
- Parameters
-
| prop | Properties for initialization |
◆ ~ModuleManager()
| RTC::ModuleManager::~ModuleManager |
( |
| ) |
|
◆ addLoadpath()
| void RTC::ModuleManager::addLoadpath |
( |
const std::vector< std::string > & | load_path | ) |
|
Add the module load path.
Add specified path list to search path list.
- Returns
- load_path List of additional module search path
◆ addNewFile()
| void RTC::ModuleManager::addNewFile |
( |
const std::string & | fpath, |
|
|
coil::vstring & | modules, |
|
|
const std::string & | lang ) |
|
protected |
Adding file path not existing cache .
◆ allowAbsolutePath()
| void RTC::ModuleManager::allowAbsolutePath |
( |
| ) |
|
|
inline |
Allow absolute path when specify module path.
Set to allow the absolute path when specify the module for the load.
References m_absoluteAllowed.
◆ allowModuleDownload()
| void RTC::ModuleManager::allowModuleDownload |
( |
| ) |
|
|
inline |
Allow URL when specify module path.
Allow URL when specify module for the load. When this setup is allowed, downloading and loading the module will be allowed.
References m_downloadAllowed.
◆ disallowAbsolutePath()
| void RTC::ModuleManager::disallowAbsolutePath |
( |
| ) |
|
|
inline |
Disallow absolute path when specify module path.
Set to disallow the absolute path when specify the module for the load.
References m_absoluteAllowed.
◆ disallowModuleDownload()
| void RTC::ModuleManager::disallowModuleDownload |
( |
| ) |
|
|
inline |
Disallow URL when specify module path.
Disallow URL when specify module for the load.
References m_downloadAllowed.
◆ fileExist()
| bool RTC::ModuleManager::fileExist |
( |
const std::string & | filename | ) |
|
Check whether the file exists.
Check whether the specified file exists.
- Parameters
-
| filename | Name of file existence for checking |
- Returns
- File existence result(File existence:true, Else:false)
◆ findFile()
| std::string RTC::ModuleManager::findFile |
( |
const std::string & | fname, |
|
|
const std::vector< std::string > & | load_path ) |
Search the file from the LoadPath.
Check whether the specified file exists in the specified path.
- Parameters
-
| fname | Target file name of the search |
| load_path | Path list for the search |
- Returns
- File name that was found
◆ getInitFuncName()
| std::string RTC::ModuleManager::getInitFuncName |
( |
const std::string & | file_path | ) |
|
Create initialization function symbol.
Assemble names of the initialization functions.
- Parameters
-
| file_path | Name of module for initialization |
- Returns
- Assembly result of initialization function name
◆ getLoadableModules()
| std::vector< coil::Properties > RTC::ModuleManager::getLoadableModules |
( |
| ) |
|
Get the loadable module list.
Get the loadable module list (not implemented).
- Returns
- Loadable module list
◆ getLoadedModules()
| std::vector< coil::Properties > RTC::ModuleManager::getLoadedModules |
( |
| ) |
|
Get the module list that has been loaded.
Get the module list that has been loaded.
- Returns
- List of module that has been loaded
◆ getLoadPath()
| std::vector< std::string > RTC::ModuleManager::getLoadPath |
( |
| ) |
|
|
inline |
Get the module load path.
Get the search path of the set module.
- Returns
- load_path List of module search path
References m_loadPath.
◆ getModuleList()
| void RTC::ModuleManager::getModuleList |
( |
const std::string & | lang, |
|
|
coil::vstring & | modules ) |
|
protected |
Getting loadable file list on the loadpath for given language .
◆ getModuleProfiles()
| void RTC::ModuleManager::getModuleProfiles |
( |
const std::string & | lang, |
|
|
const coil::vstring & | modules, |
|
|
vProperties & | modprops ) |
|
protected |
Getting module properties from given language and file list .
◆ load() [1/2]
| std::string RTC::ModuleManager::load |
( |
const std::string & | file_name | ) |
|
Load the module.
Load file_name as DLL or a shared liblary. The file_name is specified by the relative path to default load path (manager.modules.load_path).
If Property manager.modules.abs_path_allowed is yes, the load module can be specified by the absolute path.
If Property manager.modules.download_allowed is yes, the load module can be specified with URL.
The file_name can be specified by the absolute path. If manager.modules.abs_path_allowed is no, module of file_name will be searched from the default module load path and loaded.
- Parameters
-
| file_name | The target module name for the loading |
- Returns
- Name of module for the specified load
◆ load() [2/2]
| std::string RTC::ModuleManager::load |
( |
const std::string & | file_name, |
|
|
const std::string & | init_func ) |
Load and intialize the module.
Load the specified file as DLL or a shared library, and execute operation for specified initialization.
- Parameters
-
| file_name | The target module name for the loading |
| init_func | Operation for initialization |
- Returns
- Name of module for the specified load
◆ removeInvalidModules()
| void RTC::ModuleManager::removeInvalidModules |
( |
| ) |
|
|
protected |
Removing incalid module profiles .
◆ setLoadpath()
| void RTC::ModuleManager::setLoadpath |
( |
const std::vector< std::string > & | load_path | ) |
|
Set the module load path.
Specify searching path to find the target module when loading module.
- Parameters
-
| load_path | List of module search path |
◆ symbol()
| void * RTC::ModuleManager::symbol |
( |
const std::string & | file_name, |
|
|
const std::string & | func_name ) |
Refer to the symbol of the module .
◆ unload()
| void RTC::ModuleManager::unload |
( |
const std::string & | file_name | ) |
|
Unload the module.
Close and unload the specified module that has been loaded.
- Parameters
-
| file_name | Name of module for the unloading |
◆ unloadAll()
| void RTC::ModuleManager::unloadAll |
( |
| ) |
|
Unload all modules.
Unload all modules that have been loaded.
◆ m_absoluteAllowed
| bool RTC::ModuleManager::m_absoluteAllowed |
|
protected |
◆ m_configPath
Configuration path list .
◆ m_downloadAllowed
| bool RTC::ModuleManager::m_downloadAllowed |
|
protected |
◆ m_initFuncPrefix
| std::string RTC::ModuleManager::m_initFuncPrefix |
|
protected |
Initial execution function prefix .
◆ m_initFuncSuffix
| std::string RTC::ModuleManager::m_initFuncSuffix |
|
protected |
Initial execution function suffix .
◆ m_loadfailmods
| std::map<std::string, coil::vstring> RTC::ModuleManager::m_loadfailmods |
|
protected |
◆ m_loadPath
◆ m_modprofs
| vProperties RTC::ModuleManager::m_modprofs |
|
protected |
◆ m_modules
Module list that has already loaded .
◆ m_properties
| coil::Properties& RTC::ModuleManager::m_properties |
|
protected |
◆ m_supported_languages
| coil::vstring RTC::ModuleManager::m_supported_languages |
|
protected |
◆ rtclog
| Logger RTC::ModuleManager::rtclog |
|
protected |
The documentation for this class was generated from the following file: