Manager to load and unload modules, keeps track of loaded modules and does not reload modules if they are already loaded This implementation is a simple template that takes the Module implementation class name as its template parameter. More...
#include <module_manager_template.h>
Public Member Functions | |
ModuleManagerTemplate (const char *module_base_dir="") | |
Constructor of NetworkManagerTemplate. | |
~ModuleManagerTemplate () | |
Destructor. | |
MODULE_CLASS * | open_module (const char *filename) |
Open a module. | |
void | close_module (Module *module) |
Close a module by Module instance. | |
void | close_module (const char *filename) |
Close a module by filename. | |
Module * | get_module (const char *filename) |
Get a module if opened. | |
bool | module_opened (const char *filename) |
Check if the module for the given filename is already opened. | |
const char * | get_module_file_extension () |
Get the file extension for the current module type. |
Manager to load and unload modules, keeps track of loaded modules and does not reload modules if they are already loaded This implementation is a simple template that takes the Module implementation class name as its template parameter.
Definition at line 42 of file module_manager_template.h.
fawkes::ModuleManagerTemplate< MODULE_CLASS >::ModuleManagerTemplate | ( | const char * | module_base_dir = "" |
) | [inline] |
Constructor of NetworkManagerTemplate.
module_base_dir | The module basedir where to look for plugins |
Definition at line 49 of file module_manager_template.h.
fawkes::ModuleManagerTemplate< MODULE_CLASS >::~ModuleManagerTemplate | ( | ) | [inline] |
Destructor.
Definition at line 57 of file module_manager_template.h.
void fawkes::ModuleManagerTemplate< MODULE_CLASS >::close_module | ( | const char * | filename | ) | [inline, virtual] |
Close a module by filename.
filename | the name of the module file that should be closed, this is compared to loaded modules and must match what Module::GetBaseFilename() returns |
Implements fawkes::ModuleManager.
Definition at line 95 of file module_manager_template.h.
References fawkes::Mutex::lock(), and fawkes::Mutex::unlock().
void fawkes::ModuleManagerTemplate< MODULE_CLASS >::close_module | ( | Module * | module | ) | [inline, virtual] |
Close a module by Module instance.
module | The module that is to be closed |
Implements fawkes::ModuleManager.
Definition at line 90 of file module_manager_template.h.
References fawkes::Module::get_base_filename().
Module* fawkes::ModuleManagerTemplate< MODULE_CLASS >::get_module | ( | const char * | filename | ) | [inline, virtual] |
Get a module if opened.
This will return a pointer to a module if it had already been opened! The reference count is increased and you have to manually unref the module once you are done with it! This method works similar to open_module() with the difference that it is not tried to load the module if it is not open.
filename | file name of the module |
Implements fawkes::ModuleManager.
Definition at line 109 of file module_manager_template.h.
const char* fawkes::ModuleManagerTemplate< MODULE_CLASS >::get_module_file_extension | ( | ) | [inline, virtual] |
Get the file extension for the current module type.
Implements fawkes::ModuleManager.
Definition at line 127 of file module_manager_template.h.
bool fawkes::ModuleManagerTemplate< MODULE_CLASS >::module_opened | ( | const char * | filename | ) | [inline, virtual] |
Check if the module for the given filename is already opened.
filename | the name of the module file to check if it is opened. It is compared to loaded modules and must match what Module::GetBaseFilename() returns |
Implements fawkes::ModuleManager.
Definition at line 121 of file module_manager_template.h.
MODULE_CLASS* fawkes::ModuleManagerTemplate< MODULE_CLASS >::open_module | ( | const char * | filename | ) | [inline, virtual] |
Open a module.
filename | The file name of the module that should be opened. If the ModuleManager implementation takes a base dir argument (recommended) this filename is relative to that base dir |
ModuleOpenException | thrown if the module could not be opened |
Implements fawkes::ModuleManager.
Definition at line 66 of file module_manager_template.h.
References fawkes::Mutex::lock(), and fawkes::Mutex::unlock().