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/memory/Config.h
22 
23  \brief Configuration flags for the TerraLib In-memory Data Access driver.
24 */
25 
26 #ifndef __TERRALIB_MEMORY_INTERNAL_CONFIG_H
27 #define __TERRALIB_MEMORY_INTERNAL_CONFIG_H
28 
29 // TerraLib
30 #include "../Config.h"
31 
32 /** @name General Defines
33  * Configs for Memory module.
34  */
35 //@{
36 
37 /*!
38  \def TE_MEMORY_DRIVER_IDENTIFIER
39 
40  \brief The In-Memory driver identifier string.
41 */
42 #define TE_MEMORY_DRIVER_IDENTIFIER "MEM"
43 
44 /*!
45  \def TE_MEMORY_MODULE_NAME
46 
47  \brief The Memory plugin identifier string.
48 */
49 #define TE_MEMORY_MODULE_NAME "te.memory"
50 
51 /*!
52  \brief The maximum number of datasets to be handled by a data source.
53 */
54 #define TE_MEMORY_MAX_DATASETS 1024
55 
56 //@}
57 
58 /** @name Internationalization Defines
59  * Flags for TerraLib code internationalization.
60  */
61 //@{
62 
63 /*!
64  \def TE_MEMORY_TEXT_DOMAIN
65 
66  \brief It contains the name of the text domain used in the translation of messages in the TerraLib Memory module.
67 */
68 #define TE_MEMORY_TEXT_DOMAIN "tememory"
69 
70 /*!
71  \def TE_MEMORY_TEXT_DOMAIN_DIR
72 
73  \brief It contains the translation catalog directory.
74 */
75 #define TE_MEMORY_TEXT_DOMAIN_DIR "locale"
76 
77 /*!
78  \def TR_MAP
79 
80  \brief It marks a string in order to get translated. This is a special mark used in the In-memory driver of TerraLib.
81 */
82 #define TR_MEMORY(message) TR(message, TE_MEMORY_TEXT_DOMAIN)
83 
84 /*!
85  \def TR_PLURAL_MAP
86 
87  \brief This mark can be used when you have a plural phrase to be translated. This is a special mark used in the In-memory driver of TerraLib.
88 */
89 #define TR_PLURAL_MEMORY(message1, message2, n) TR_PLURAL(TE_MEMORY_TEXT_DOMAIN, message1, message2, n)
90 
91 //@}
92 
93 /** @name DLL/LIB Module
94  * Flags for building TerraLib as a DLL or as a Static Library
95  */
96 //@{
97 
98 /*!
99  \def TEMEMORYEXPORT
100 
101  \brief You can use this macro in order to export/import classes and functions from this module.
102 
103  \note If you want to compile TerraLib as DLL in Windows, remember to insert TEMEMORYDLL into the project's list of defines.
104 
105  \note If you want to compile TerraLib as an Static Library under Windows, remember to insert the TEMEMORYSTATIC flag into the project list of defines.
106 */
107 #ifdef WIN32
108 
109  #ifdef _MSC_VER
110  #pragma warning( disable : 4251 )
111  #pragma warning( disable : 4275 )
112  #endif
113 
114  #ifdef TEMEMORYSTATIC
115  #define TEMEMORYEXPORT // Don't need to export/import... it is a static library
116  #elif TEMEMORYDLL
117  #define TEMEMORYEXPORT __declspec(dllexport) // export DLL information
118  #else
119  #define TEMEMORYEXPORT __declspec(dllimport) // import DLL information
120  #endif
121 #else
122  #define TEMEMORYEXPORT
123 #endif
124 
125 //@}
126 
127 #endif // __TERRALIB_MEMORY_INTERNAL_CONFIG_H