26 #ifndef __TERRALIB_COMMON_INTERNAL_TERRALIB_H 27 #define __TERRALIB_COMMON_INTERNAL_TERRALIB_H 81 typedef void (*StartupFptr)(void);
88 typedef void (*CleanupFptr)(void);
132 void initialize(
const std::size_t i);
145 void initialize(
const std::string& moduleName);
172 void finalize(
const std::size_t i);
185 void finalize(
const std::string& moduleName);
195 void add(
const Module& m);
202 void remove(
const std::string& moduleName);
209 void remove(
const std::size_t i);
216 std::size_t getNumRegModules()
const;
225 std::size_t getModuleIdx(
const std::string& moduleName)
const;
234 const std::string& getModuleName(std::size_t i)
const;
268 #endif // __TERRALIB_COMMON_INTERNAL_TERRALIB_H std::string m_name
The module name: an internal value used to identify the module in the system. Must be a unique value...
CleanupFptr m_cleanupFptr
The module finalization routine.
#define TECOMMONEXPORT
You can use this macro in order to export/import classes and functions from this module.
Template support for singleton pattern.
StartupFptr m_startFptr
The module initialization routine.
std::vector< bool > m_initialized
The list of modules to be initialized when initialize is called.
std::vector< Module > m_modules
This static function is invoked automatically when the application finishes its execution.
This internal structure is used to model the basic information about a TerraLib module.
Configuration flags for the TerraLib Common Runtime module.
An utility class to control the startup and cleanup of the TerraLib Platform and its resources...
Template support for singleton pattern.