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...
Configuration flags for the TerraLib Common Runtime module.
CleanupFptr m_cleanupFptr
The module finalization routine.
Template support for singleton pattern.
StartupFptr m_startFptr
The module initialization routine.
#define TECOMMONEXPORT
You can use this macro in order to export/import classes and functions from this module.
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.
An utility class to control the startup and cleanup of the TerraLib Platform and its resources...
Template support for singleton pattern.