All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 // 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 DLL/LIB Module
59  * Flags for building TerraLib as a DLL or as a Static Library
60  */
61 //@{
62 
63 /*!
64  \def TEMEMORYEXPORT
65 
66  \brief You can use this macro in order to export/import classes and functions from this module.
67 
68  \note If you want to compile TerraLib as DLL in Windows, remember to insert TEMEMORYDLL into the project's list of defines.
69 
70  \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.
71 */
72 #ifdef WIN32
73 
74  #ifdef _MSC_VER
75  #pragma warning( disable : 4251 )
76  #pragma warning( disable : 4275 )
77  #endif
78 
79  #ifdef TEMEMORYSTATIC
80  #define TEMEMORYEXPORT // Don't need to export/import... it is a static library
81  #elif TEMEMORYDLL
82  #define TEMEMORYEXPORT __declspec(dllexport) // export DLL information
83  #else
84  #define TEMEMORYEXPORT __declspec(dllimport) // import DLL information
85  #endif
86 #else
87  #define TEMEMORYEXPORT
88 #endif
89 
90 //@}
91 
92 #endif // __TERRALIB_MEMORY_INTERNAL_CONFIG_H