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
Template support for singleton pattern.
CleanupFptr m_cleanupFptr
The module finalization routine.
This internal structure is used to model the basic information about a TerraLib module.
#define TECOMMONEXPORT
You can use this macro in order to export/import classes and functions from this module.
std::vector< Module > m_modules
This static function is invoked automatically when the application finishes its execution.
std::string m_name
The module name: an internal value used to identify the module in the system. Must be a unique value...
An utility class to control the startup and cleanup of the TerraLib Platform and its resources...
Template support for singleton pattern.
Configuration flags for the TerraLib Common Runtime module.
std::vector< bool > m_initialized
The list of modules to be initialized when initialize is called.
StartupFptr m_startFptr
The module initialization routine.