Config.h
Go to the documentation of this file.
1 /* Copyright (C) 2008 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 /** @name General Defines
30  * Configs for Memory module.
31  */
32 //@{
33 
34 /*!
35  \def TE_MEMORY_DRIVER_IDENTIFIER
36 
37  \brief The In-Memory driver identifier string.
38 */
39 #define TE_MEMORY_DRIVER_IDENTIFIER "MEM"
40 
41 /*!
42  \def TE_MEMORY_MODULE_NAME
43 
44  \brief The Memory plugin identifier string.
45 */
46 #define TE_MEMORY_MODULE_NAME "te.memory"
47 
48 /*!
49  \brief The maximum number of datasets to be handled by a data source.
50 */
51 #define TE_MEMORY_MAX_DATASETS 1024
52 
53 //@}
54 
55 /** @name DLL/LIB Module
56  * Flags for building TerraLib as a DLL or as a Static Library
57  */
58 //@{
59 
60 /*!
61  \def TEMEMORYEXPORT
62 
63  \brief You can use this macro in order to export/import classes and functions from this module.
64 
65  \note If you want to compile TerraLib as DLL in Windows, remember to insert TEMEMORYDLL into the project's list of defines.
66 
67  \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.
68 */
69 #ifdef WIN32
70 
71  #ifdef _MSC_VER
72  #pragma warning( disable : 4251 )
73  #pragma warning( disable : 4275 )
74  #endif
75 
76  #ifdef TEMEMORYSTATIC
77  #define TEMEMORYEXPORT // Don't need to export/import... it is a static library
78  #elif TEMEMORYDLL
79  #define TEMEMORYEXPORT __declspec(dllexport) // export DLL information
80  #else
81  #define TEMEMORYEXPORT __declspec(dllimport) // import DLL information
82  #endif
83 #else
84  #define TEMEMORYEXPORT
85 #endif
86 
87 //@}
88 
89 #endif // __TERRALIB_MEMORY_INTERNAL_CONFIG_H