All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Config.h File Reference

Configuration flags for the TerraLib Common Runtime module. More...

#include "../Config.h"

Go to the source code of this file.

Macros

#define TE_COMMON_MODULE_NAME   "te.common"
 
#define TE_PROTOCOL_DEFAULT_PORTS_FILE   "protocol/protocolPorts.txt"
 
File Defines

Flags for TerraLib special files name and location.

#define TERRALIB_DIR   "terralib"
 The folder name on the system where terralib data is stored (on windows: app/terralib). More...
 
#define TERRALIB_DIR_ENVVAR   "TERRALIB_DIR"
 Environment variable name with the TerraLib install path. More...
 
#define TERRALIB_CONFIG_DIR   "../../conf"
 Folder location with application config files. More...
 
#define TERRALIB_SYSTEM_SETTINGS_FILE   "config.xml"
 
#define TERRALIB_USER_SETTINGS_FILE   "user_settings.xml"
 User settings file name. More...
 
Internationalization Defines

Flags for TerraLib code internationalization.

#define TE_ADD_TEXT_DOMAIN(domain, domaindir, codeset)   ((void)0)
 It adds the given text domain located at domain-dir with the given codeset to the multilingual system. More...
 
#define TR(message, domain)   message
 Try to translate the message according to the given domain. See the TR_COMMON macro for more infomation on how to create a translation mark for your code. More...
 
#define TR_PLURAL(domain, message1, message2, n)   (n > 1 ? message2 : message1)
 Try to translate the message according to the given domain and plural form. See the TR_PLURAL_COMMON macro for more infomation on how to create a translation mark for your code. More...
 
#define TE_COMMON_TEXT_DOMAIN   "tecommon"
 It contains the name of the text domain used in the translation of messages in the TerraLib Common module. More...
 
#define TE_COMMON_TEXT_DOMAIN_DIR   "locale"
 It contains the translation catalog directory. More...
 
#define TR_COMMON(message)   TR(message, TE_COMMON_TEXT_DOMAIN)
 It marks a string in order to get translated. This is the mark used in the Common module of TerraLib. More...
 
#define TR_PLURAL_COMMON(message1, message2, n)   TR_PLURAL(TE_COMMON_TEXT_DOMAIN, message1, message2, n)
 It marks a string in order to get translated according to plural form. This is the mark used in the Common module of TerraLib. More...
 
Logger Defines

Flags for building TerraLib with log support.

The macros TE_LOG_XXX can be used to log messages. These macros are disabled if TE_LOGGER_ENABLED is set to 0.

Remember to include the <common/Logger.h> file when using this set of macros.

#define TE_LOGGER_DEFAULT_NAME   "terralib"
 This is the fully qualified TerraLib root logger. More...
 
#define TE_LOGGER_DEFAULT_CONFIGURATION_FILE   "conf/te-log.conf"
 
#define TE_LOGGER_DEFAULT_CONFIG_FILE_TYPE   te::common::LOGGER_TXT_CONFIG
 It sets the default type of file used to configure the logger. More...
 
#define TE_LOGGER_MAKE_DEFAULT_INITIALIZATION()   ((void)0)
 This macro can be used to make logger default initialization. More...
 
#define TE_LOGGER_MAKE_DEFAULT_FINALIZATION()   ((void)0)
 This macro can be used to make logger default finalization. More...
 
#define TE_LOGGER_FATAL_ENABLED   1
 If this flag is set to 0 the macro TE_LOG_FATAL will be disabled and no additional computational costs will be added to the code. More...
 
#define TE_LOGGER_ASSERT_ENABLED   1
 If this flag is set to 0 the assertion macro TE_LOG_ASSERT will be disabled and no additional computational costs will be added to the code. More...
 
#define TE_LOGGER_ERROR_ENABLED   1
 If this flag is set to 0 the assertion macro TE_LOG_ERROR will be disabled and no additional computational costs will be added to the code. More...
 
#define TE_LOGGER_WARN_ENABLED   1
 If this flag is set to 0 the assertion macro TE_LOG_WARN will be disabled and no additional computational costs will be added to the code. More...
 
#define TE_LOGGER_INFO_ENABLED   1
 If this flag is set to 0 the assertion macro TE_LOG_INFO will be disabled and no additional computational costs will be added to the code. More...
 
#define TE_LOGGER_DEBUG_ENABLED   1
 If this flag is set to 0 the assertion macro TE_LOG_DEBUG will be disabled and no additional computational costs will be added to the code. More...
 
#define TE_LOGGER_TRACE_ENABLED   1
 If this flag is set to 0 the assertion macro TE_LOG_TRACE will be disabled and no additional computational costs will be added to the code. More...
 
#define TE_LOG_FATAL(msg)   ((void)0)
 Use this tag in order to log a message to a specified logger with the FATAL level. More...
 
#define TE_LOG_ASSERT(condition, msg)   ((void)0)
 Use this tag in order to log a message to a specified logger with the ASSERT level. More...
 
#define TE_LOG_ERROR(msg)   ((void)0)
 Use this tag in order to log a message to a specified logger with the ERROR level. More...
 
#define TE_LOG_WARN(msg)   ((void)0)
 Use this tag in order to log a message to a specified logger with the WARN level. More...
 
#define TE_LOG_INFO(msg)   ((void)0)
 Use this tag in order to log a message to a specified logger with the INFO level. More...
 
#define TE_LOG_DEBUG(msg)   ((void)0)
 Use this tag in order to log a message to a specified logger with the DEBUG level. More...
 
#define TE_LOG_TRACE(msg)   ((void)0)
 Use this tag in order to log a message to a specified logger with the TRACE level. More...
 
DLL/LIB Module

Flags for building TerraLib as a DLL or as a Static Library

#define TECOMMONEXPORT
 You can use this macro in order to export/import classes and functions from this module. More...
 

Detailed Description

Configuration flags for the TerraLib Common Runtime module.

Definition in file Config.h.

Macro Definition Documentation

#define TE_ADD_TEXT_DOMAIN (   domain,
  domaindir,
  codeset 
)    ((void)0)

It adds the given text domain located at domain-dir with the given codeset to the multilingual system.

Note
This macro will check if the domain already exists before doing anyting.

Definition at line 118 of file Config.h.

Referenced by te::grib::Platform::initialize(), te::at::Module::Module(), te::color::Module::Module(), te::fe::Module::Module(), te::md::Module::Module(), te::xml::Module::Module(), te::plugin::Module::Module(), te::gm::Module::Module(), te::rst::Module::Module(), te::gml::Module::Module(), te::se::Module::Module(), te::cl::Module::Module(), te::da::Module::Module(), te::graph::Module::Module(), te::serialize::Module::Module(), te::stat::Module::Module(), te::dt::Module::Module(), te::xl::Module::Module(), te::map::Module::Module(), te::vp::Module::Module(), te::mem::Module::Module(), te::st::Module::Module(), te::stmem::Module::Module(), te::qt::widgets::Module::Module(), te::srs::Module::Module(), te::rp::Module::Module(), te::common::Module::Module(), te::qt::plugins::wfs::Plugin::startup(), te::qt::plugins::ado::Plugin::startup(), te::qt::plugins::wms::Plugin::startup(), te::qt::plugins::geofile::Plugin::startup(), te::qt::plugins::pgis::Plugin::startup(), te::qt::plugins::wcs::Plugin::startup(), te::qt::plugins::sqlite::Plugin::startup(), te::qt::plugins::mysql::Plugin::startup(), te::qt::plugins::layout::Plugin::startup(), te::qt::plugins::ogr::Plugin::startup(), te::qt::plugins::terralib4::Plugin::startup(), te::qt::plugins::gdal::Plugin::startup(), te::qt::plugins::rp::Plugin::startup(), te::qt::plugins::vp::Plugin::startup(), te::xerces::Module::startup(), te::pgis::Module::startup(), te::gdal::Module::startup(), terralib4::Module::startup(), te::ado::Module::startup(), and te::ogr::Module::startup().

#define TE_COMMON_MODULE_NAME   "te.common"

Definition at line 34 of file Config.h.

Referenced by te::common::Module::Module(), and te::common::Module::~Module().

#define TE_COMMON_TEXT_DOMAIN   "tecommon"

It contains the name of the text domain used in the translation of messages in the TerraLib Common module.

Definition at line 148 of file Config.h.

Referenced by te::common::Module::Module().

#define TE_COMMON_TEXT_DOMAIN_DIR   "locale"

It contains the translation catalog directory.

Definition at line 155 of file Config.h.

Referenced by te::common::Module::Module().

#define TE_LOG_ASSERT (   condition,
  msg 
)    ((void)0)

Use this tag in order to log a message to a specified logger with the ASSERT level.

Parameters
conditionAn expression (condition). If it is not true, the message will be logged.
msgThe message to be logged. Example: "Exception raised because of a missing parameter!".
Note
The ASSERT level can be used to check expressions that must be evaluated as true.

Definition at line 343 of file Config.h.

#define TE_LOG_DEBUG (   msg)    ((void)0)

Use this tag in order to log a message to a specified logger with the DEBUG level.

Parameters
msgThe message to be logged. Example: "Exception raised because of a missing parameter!".
Note
The DEBUG Level designates fine-grained informational events that are most useful to debug an application.

Definition at line 403 of file Config.h.

#define TE_LOG_ERROR (   msg)    ((void)0)

Use this tag in order to log a message to a specified logger with the ERROR level.

Parameters
msgThe message to be logged. Example: "Exception raised because of a missing parameter!".
Note
The ERROR level designates error events that might still allow the application to continue running.

Definition at line 358 of file Config.h.

#define TE_LOG_FATAL (   msg)    ((void)0)

Use this tag in order to log a message to a specified logger with the FATAL level.

Parameters
msgThe message to be logged. Example: "Exception raised because of a missing parameter!".
Note
The FATAL level designates very severe error events that will presumably lead the application to abort.

Definition at line 327 of file Config.h.

#define TE_LOG_INFO (   msg)    ((void)0)

Use this tag in order to log a message to a specified logger with the INFO level.

Parameters
msgThe message to be logged. Example: "Exception raised because of a missing parameter!".
Note
The INFO level designates informational messages that highlight the progress of the application at coarse-grained level.

Definition at line 388 of file Config.h.

Referenced by te::common::LoggedException::LoggedException().

#define TE_LOG_TRACE (   msg)    ((void)0)

Use this tag in order to log a message to a specified logger with the TRACE level.

Parameters
msgThe message to be logged. Example: "Exception raised because of a missing parameter!".
Note
The TRACE Level designates finer-grained informational events than the DEBUG.

Definition at line 418 of file Config.h.

Referenced by te::at::Module::finalize(), te::color::Module::finalize(), te::fe::Module::finalize(), te::md::Module::finalize(), te::xml::Module::finalize(), te::plugin::Module::finalize(), te::gm::Module::finalize(), te::rst::Module::finalize(), te::gml::Module::finalize(), te::se::Module::finalize(), te::cl::Module::finalize(), te::da::Module::finalize(), te::graph::Module::finalize(), te::serialize::Module::finalize(), te::stat::Module::finalize(), te::dt::Module::finalize(), te::map::Module::finalize(), te::vp::Module::finalize(), te::mem::Module::finalize(), te::xl::Module::finalize(), te::qt::widgets::Module::finalize(), te::srs::Module::finalize(), te::stmem::Module::finalize(), te::st::Module::finalize(), te::rp::Module::finalize(), te::common::Module::finalize(), te::at::Module::initialize(), te::plugin::Module::initialize(), te::gm::Module::initialize(), te::cl::Module::initialize(), te::xml::Module::initialize(), te::rst::Module::initialize(), te::gml::Module::initialize(), te::da::Module::initialize(), te::se::Module::initialize(), te::graph::Module::initialize(), te::serialize::Module::initialize(), te::stat::Module::initialize(), te::dt::Module::initialize(), te::map::Module::initialize(), te::color::Module::initialize(), te::vp::Module::initialize(), te::mem::Module::initialize(), te::fe::Module::initialize(), te::xl::Module::initialize(), te::md::Module::initialize(), te::qt::widgets::Module::initialize(), te::srs::Module::initialize(), te::stmem::Module::initialize(), te::st::Module::initialize(), te::rp::Module::initialize(), te::common::Module::initialize(), te::qt::plugins::ado::Plugin::shutdown(), te::qt::plugins::geofile::Plugin::shutdown(), te::qt::plugins::mysql::Plugin::shutdown(), te::qt::plugins::pgis::Plugin::shutdown(), te::qt::plugins::wfs::Plugin::shutdown(), te::qt::plugins::wms::Plugin::shutdown(), te::qt::plugins::wcs::Plugin::shutdown(), te::qt::plugins::sqlite::Plugin::shutdown(), te::qt::plugins::layout::Plugin::shutdown(), te::qt::plugins::gdal::Plugin::shutdown(), te::qt::plugins::ogr::Plugin::shutdown(), te::qt::plugins::terralib4::Plugin::shutdown(), te::qt::plugins::rp::Plugin::shutdown(), te::qt::plugins::vp::Plugin::shutdown(), te::xerces::Module::shutdown(), te::pgis::Module::shutdown(), te::gdal::Module::shutdown(), terralib4::Module::shutdown(), te::ado::Module::shutdown(), te::ogr::Module::shutdown(), te::qt::plugins::mysql::Plugin::startup(), te::qt::plugins::ado::Plugin::startup(), te::qt::plugins::wcs::Plugin::startup(), te::qt::plugins::geofile::Plugin::startup(), te::qt::plugins::pgis::Plugin::startup(), te::qt::plugins::sqlite::Plugin::startup(), te::qt::plugins::wfs::Plugin::startup(), te::qt::plugins::wms::Plugin::startup(), te::qt::plugins::layout::Plugin::startup(), te::qt::plugins::terralib4::Plugin::startup(), te::qt::plugins::gdal::Plugin::startup(), te::qt::plugins::ogr::Plugin::startup(), te::qt::plugins::rp::Plugin::startup(), te::qt::plugins::vp::Plugin::startup(), te::xerces::Module::startup(), te::pgis::Module::startup(), te::gdal::Module::startup(), terralib4::Module::startup(), te::ado::Module::startup(), and te::ogr::Module::startup().

#define TE_LOG_WARN (   msg)    ((void)0)

Use this tag in order to log a message to a specified logger with the WARN level.

Parameters
msgThe message to be logged. Example: "Exception raised because of a missing parameter!".
Note
The WARN level designates potentially harmful situations.

Definition at line 373 of file Config.h.

#define TE_LOGGER_ASSERT_ENABLED   1

If this flag is set to 0 the assertion macro TE_LOG_ASSERT will be disabled and no additional computational costs will be added to the code.

Definition at line 278 of file Config.h.

#define TE_LOGGER_DEBUG_ENABLED   1

If this flag is set to 0 the assertion macro TE_LOG_DEBUG will be disabled and no additional computational costs will be added to the code.

Definition at line 306 of file Config.h.

#define TE_LOGGER_DEFAULT_CONFIG_FILE_TYPE   te::common::LOGGER_TXT_CONFIG

It sets the default type of file used to configure the logger.

Note
See LoggerConfigurationType enum for more information about possible values for this macro.

Definition at line 240 of file Config.h.

#define TE_LOGGER_DEFAULT_CONFIGURATION_FILE   "conf/te-log.conf"

Definition at line 231 of file Config.h.

#define TE_LOGGER_DEFAULT_NAME   "terralib"

This is the fully qualified TerraLib root logger.

Note
If you are developing a new module and want to have your own log configuration file, please give it a name starting with "terralib.your-module-name". So it will belong to TerraLib loggers tree.

Definition at line 224 of file Config.h.

#define TE_LOGGER_ERROR_ENABLED   1

If this flag is set to 0 the assertion macro TE_LOG_ERROR will be disabled and no additional computational costs will be added to the code.

Definition at line 285 of file Config.h.

#define TE_LOGGER_FATAL_ENABLED   1

If this flag is set to 0 the macro TE_LOG_FATAL will be disabled and no additional computational costs will be added to the code.

Definition at line 271 of file Config.h.

#define TE_LOGGER_INFO_ENABLED   1

If this flag is set to 0 the assertion macro TE_LOG_INFO will be disabled and no additional computational costs will be added to the code.

Definition at line 299 of file Config.h.

#define TE_LOGGER_MAKE_DEFAULT_FINALIZATION ( )    ((void)0)

This macro can be used to make logger default finalization.

Definition at line 263 of file Config.h.

Referenced by te::common::Module::finalize(), and te::common::Module::~Module().

#define TE_LOGGER_MAKE_DEFAULT_INITIALIZATION ( )    ((void)0)

This macro can be used to make logger default initialization.

Definition at line 252 of file Config.h.

Referenced by te::common::Module::initialize(), and te::common::Module::Module().

#define TE_LOGGER_TRACE_ENABLED   1

If this flag is set to 0 the assertion macro TE_LOG_TRACE will be disabled and no additional computational costs will be added to the code.

Definition at line 313 of file Config.h.

#define TE_LOGGER_WARN_ENABLED   1

If this flag is set to 0 the assertion macro TE_LOG_WARN will be disabled and no additional computational costs will be added to the code.

Definition at line 292 of file Config.h.

#define TE_PROTOCOL_DEFAULT_PORTS_FILE   "protocol/protocolPorts.txt"

Definition at line 423 of file Config.h.

Referenced by te::common::uri::authority::loadDefaultPorts().

#define TECOMMONEXPORT

You can use this macro in order to export/import classes and functions from this module.

Note
If you want to compile TerraLib as DLL in Windows, remember to insert TECOMMONDLL into the project's list of defines.
If you want to compile TerraLib as an Static Library under Windows, remember to insert the TECOCOMMONSTATIC flag into the project list of defines.

Definition at line 455 of file Config.h.

#define TERRALIB_CONFIG_DIR   "../../conf"

Folder location with application config files.

Main application config file.

Referenced by te::common::SystemApplicationSettings::load(), te::common::UserApplicationSettings::load(), and te::qt::af::ApplicationPlugins::load().

#define TERRALIB_DIR   "terralib"

The folder name on the system where terralib data is stored (on windows: app/terralib).

Definition at line 47 of file Config.h.

Referenced by te::common::SystemApplicationSettings::load(), te::common::UserApplicationSettings::load(), and te::qt::af::ApplicationPlugins::load().

#define TERRALIB_DIR_ENVVAR   "TERRALIB_DIR"

Environment variable name with the TerraLib install path.

Definition at line 56 of file Config.h.

Referenced by te::common::SystemApplicationSettings::load(), te::common::UserApplicationSettings::load(), and te::qt::af::ApplicationPlugins::load().

#define TERRALIB_SYSTEM_SETTINGS_FILE   "config.xml"

Definition at line 74 of file Config.h.

Referenced by te::common::SystemApplicationSettings::load().

#define TERRALIB_USER_SETTINGS_FILE   "user_settings.xml"

User settings file name.

Definition at line 83 of file Config.h.

Referenced by te::common::UserApplicationSettings::load().

#define TR (   message,
  domain 
)    message

Try to translate the message according to the given domain. See the TR_COMMON macro for more infomation on how to create a translation mark for your code.

Definition at line 129 of file Config.h.

#define TR_COMMON (   message)    TR(message, TE_COMMON_TEXT_DOMAIN)

It marks a string in order to get translated. This is the mark used in the Common module of TerraLib.

In each module you have to define a new mark. It can be hard-working, but it gives you the maximum flexibility to define your own text domain in the apropriated directory.
Example of usage:

std::cout << TR_COMMON("My message!");
throw Exception(TR_COMMON("My other message!"));

Definition at line 173 of file Config.h.

Referenced by te::sqlite::DataSourceTransactor::addCheckConstraint(), te::sqlite::DataSourceTransactor::addForeignKey(), te::sqlite::DataSourceTransactor::addIndex(), te::sqlite::DataSourceTransactor::addPrimaryKey(), te::common::Library::addSearchDir(), te::sqlite::DataSourceTransactor::addSequence(), te::sqlite::PreparedQuery::bind(), te::sqlite::PreparedQuery::bindNumeric(), te::sqlite::BindValue(), te::sqlite::DataSourceTransactor::checkConstraintExists(), te::sqlite::DataSourceTransactor::cloneDataSet(), te::sqlite::DataSource::close(), te::sqlite::Convert2SpatiaLiteGeom(), terralib4::Convert2T5(), te::sqlite::DataSource::create(), te::sqlite::DataSourceTransactor::createDataSet(), te::sqlite::DataSourceTransactor::dataSetExists(), te::sqlite::DataSource::drop(), te::sqlite::DataSourceTransactor::dropCheckConstraint(), te::sqlite::DataSourceTransactor::dropDataSet(), te::sqlite::DataSourceTransactor::dropForeignKey(), te::sqlite::DataSourceTransactor::dropIndex(), te::sqlite::DataSourceTransactor::dropPrimaryKey(), te::sqlite::DataSourceTransactor::dropProperty(), te::sqlite::DataSourceTransactor::dropSequence(), te::sqlite::DataSourceTransactor::escape(), te::sqlite::PreparedQuery::execute(), te::sqlite::DataSourceTransactor::execute(), te::sqlite::ExecuteScript(), te::sqlite::Exists(), te::sqlite::DataSource::exists(), te::common::Module::finalize(), te::common::Library::Impl::getAddress(), te::sqlite::FwDataSet::getArray(), te::sqlite::GetBindableSpatialRelation(), te::sqlite::FwDataSet::getByteArray(), te::sqlite::DataSourceTransactor::getCheckConstraint(), te::sqlite::DataSourceTransactor::getCheckConstraintNames(), te::common::UnitsOfMeasureManager::getConversion(), te::sqlite::DataSourceTransactor::getDataSet(), te::sqlite::FwDataSet::getDatasetNameOfProperty(), te::sqlite::DataSourceCatalogLoader::getDataSetType(), te::sqlite::FwDataSet::getDateTime(), te::sqlite::DataSourceTransactor::getDB(), te::sqlite::FwDataSet::getExtent(), te::sqlite::DataSourceCatalogLoader::getExtent(), te::sqlite::DataSourceTransactor::getIndex(), te::sqlite::DataSourceTransactor::getLastGeneratedId(), te::common::ProgressTimer::getMessage(), te::sqlite::DataSourceTransactor::getNumberOfItems(), te::sqlite::FwDataSet::getRaster(), te::sqlite::GetRtreeFilter(), te::common::Library::getSearchPath(), te::sqlite::DataSourceTransactor::getSequence(), te::sqlite::DataSourceTransactor::getSequenceNames(), te::sqlite::GetSQLType(), te::sqlite::DataSourceTransactor::getUniqueKey(), te::sqlite::DataSourceTransactor::getUniqueKeyNames(), te::sqlite::DataSourceTransactor::indexExists(), te::common::UnitsOfMeasureManager::init(), te::common::Module::initialize(), te::common::FactoryDictionary< TFACTORY, TFACTORYKEY, TKEYCOMPARE >::insert(), te::sqlite::FwDataSet::isAfterEnd(), te::sqlite::FwDataSet::isAtBegin(), te::sqlite::FwDataSet::isAtEnd(), te::sqlite::FwDataSet::isBeforeBegin(), te::sqlite::FwDataSet::isConnected(), te::sqlite::DataSourceTransactor::isDataSetNameValid(), te::sqlite::FwDataSet::isEmpty(), te::sqlite::DataSourceTransactor::isPropertyNameValid(), te::common::SystemApplicationSettings::load(), te::common::Library::Impl::load(), te::common::ParameterizedAbstractFactory< TPRODUCT, TFACTORYKEY, TPARAM, TKEYCOMPARE >::make(), te::common::AbstractFactory< TPRODUCT, TFACTORYKEY, TKEYCOMPARE >::make(), te::sqlite::FwDataSet::move(), te::sqlite::FwDataSet::moveBeforeFirst(), te::sqlite::FwDataSet::moveLast(), te::sqlite::FwDataSet::movePrevious(), te::sqlite::DataSource::open(), te::sqlite::DataSourceTransactor::optimize(), te::sqlite::PerformCommands(), te::sqlite::PreparedQuery::prepare(), te::sqlite::DataSourceTransactor::Impl::queryLite(), te::common::FactoryDictionary< TFACTORY, TFACTORYKEY, TKEYCOMPARE >::remove(), te::sqlite::DataSourceTransactor::remove(), te::sqlite::DataSourceTransactor::renameDataSet(), te::sqlite::DataSourceTransactor::renameProperty(), te::common::Library::resetSearchPath(), te::sqlite::DataSourceTransactor::sequenceExists(), te::sqlite::FwDataSet::size(), te::sqlite::DataSourceTransactor::uniqueKeyExists(), te::common::Library::Impl::unload(), te::sqlite::DataSourceTransactor::update(), te::common::ConsoleProgressViewer::updateMessage(), te::common::ConsoleProgressViewer::updateValue(), and te::sqlite::SQLVisitor::visit().

#define TR_PLURAL (   domain,
  message1,
  message2,
 
)    (n > 1 ? message2 : message1)

Try to translate the message according to the given domain and plural form. See the TR_PLURAL_COMMON macro for more infomation on how to create a translation mark for your code.

Definition at line 140 of file Config.h.

#define TR_PLURAL_COMMON (   message1,
  message2,
 
)    TR_PLURAL(TE_COMMON_TEXT_DOMAIN, message1, message2, n)

It marks a string in order to get translated according to plural form. This is the mark used in the Common module of TerraLib.

In each module you have to define a new mark. It can be hard-working, but it gives you the maximum flexibility to define your own text domain in the apropriated directory.
Example of usage:

int n = f(...);
std::cout << TR_PLURAL_COMMON("One Message!", "Two Messages", n);
throw Exception(TR_PLURAL_COMMON("One Message!", "Two Messages", n));

In the above example, the parameter n can be a threshold that helps to choose between the first or the second construction. If your trabslation file is configured with a theashold of 1, indicating that if n > 1 must choose the second construction, the plural versin will be choosed, otherwise, it will choose the singular form (the fisrt one).

Definition at line 200 of file Config.h.