All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Config.h
Go to the documentation of this file.
1 /* Copyright (C) 2001-2009 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18  */
19 
20 /*!
21  \file terralib/xml/Config.h
22 
23  \brief Configuration flags for the XML API of TerraLib.
24 */
25 
26 #ifndef __TERRALIB_XML_INTERNAL_CONFIG_H
27 #define __TERRALIB_XML_INTERNAL_CONFIG_H
28 
29 // TerraLib
30 #include "../Config.h"
31 
32 #define TE_XML_MODULE_NAME "te.xml"
33 
34 /** @name XML Module Config
35  * Configuration flags for XML module.
36  */
37 //@{
38 
39 /*!
40  \def TE_XML_DEFAULT_READER_TYPE
41 
42  \brief The default implementation to be used when creating a XML reader.
43  */
44 #define TE_XML_DEFAULT_READER_TYPE "XERCES"
45 
46 /*!
47  \def TE_XML_READER_MAX_BUFFSIZE
48 
49  \brief It defines the default internal buffer size for parsing a XML file.
50  */
51 #define TE_XML_READER_MAX_BUFFSIZE 65536
52 
53 //@}
54 
55 /** @name Internationalization Defines
56  * Flags for TerraLib code internationalization.
57  */
58 //@{
59 
60 /*!
61  \def TE_XML_TEXT_DOMAIN
62 
63  \brief It contains the name of the text domain used in the translation of messages in TerraLib XML module.
64  */
65 #define TE_XML_TEXT_DOMAIN "texml"
66 
67 /*!
68  \def TE_XML_TEXT_DOMAIN_DIR
69 
70  \brief It contains the translation catalog directory.
71  */
72 #define TE_XML_TEXT_DOMAIN_DIR "locale"
73 
74 /*!
75  \def TR_XML
76 
77  \brief It marks a string in order to get translated. This is a special mark used in the XML module of TerraLib.
78  */
79 #define TR_XML(message) TR(message, TE_XML_TEXT_DOMAIN)
80 
81 /*!
82  \def TR_PLURAL_XML
83 
84  \brief This mark can be used when you have a plural phrase to be translated. This is a special mark used in the XML module of TerraLib.
85  */
86 #define TR_PLURAL_XML(message1, message2, n) TR_PLURAL(TE_XML_TEXT_DOMAIN, message1, message2, n)
87 
88 //@}
89 
90 /** @name DLL/LIB Module
91  * Flags for building TerraLib as a DLL or as a Static Library
92  */
93 //@{
94 
95 /*!
96  \def TEXMLEXPORT
97 
98  \brief You can use this macro in order to export/import classes and functions from this module.
99 
100  \note If you want to compile TerraLib as DLL in Windows, remember to insert TEXMLDLL into the project's list of defines.
101 
102  \note If you want to compile TerraLib as an Static Library under Windows, remember to insert the TEXMLSTATIC flag into the project list of defines.
103  */
104 #ifdef WIN32
105 
106  #ifdef _MSC_VER
107  #pragma warning( disable : 4251 )
108  #pragma warning( disable : 4275 )
109  #endif
110 
111  #ifdef TEXMLSTATIC
112  #define TEXMLEXPORT // Don't need to export/import... it is a static library
113  #elif TEXMLDLL
114  #define TEXMLEXPORT __declspec(dllexport) // export DLL information
115  #else
116  #define TEXMLEXPORT __declspec(dllimport) // import DLL information
117  #endif
118 #else
119  #define TEXMLEXPORT
120 #endif
121 
122 //@}
123 
124 #endif // __TERRALIB_XML_INTERNAL_CONFIG_H
125