src/terralib/binding/v8/plugin/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 Config.h
22 
23  \brief Configuration flags for TerraLib's Google JavaScript V8 engine module.
24  */
25 
26 #ifndef __TERRALIB_BINDING_V8_PLUGIN_INTERNAL_CONFIG_H
27 #define __TERRALIB_BINDING_V8_PLUGIN_INTERNAL_CONFIG_H
28 
29 // TerraLib
30 #include "../Config.h"
31 
32 /** @name V8 Plugin Defines
33  * Flags for configuring the Google JavaScript V8 engine module.
34  */
35 //@{
36 
37 /*!
38  \def TE_V8_PLUGIN_ENGINE_CODE
39 
40  \brief The plugin engine name for Java plugins.
41  */
42 #define TE_V8_PLUGIN_ENGINE_CODE "JAVASCRIPT"
43 
44 //@}
45 
46 /** @name Internationalization Defines
47  * Flags for TerraLib code internationalization.
48  */
49 //@{
50 
51 /*!
52  \def TE_V8PLUGIN_TEXT_DOMAIN
53 
54  \brief It contains the name of the text domain used in the translation of messages in TerraLib Java API module.
55  */
56 #define TE_V8PLUGIN_TEXT_DOMAIN "tev8plugin"
57 
58 /*!
59  \def GTE_V8PLUGIN_TEXT_DOMAIN_DIR
60 
61  \brief It contains the translation catalog directory.
62  */
63 #define TE_V8PLUGIN_TEXT_DOMAIN_DIR "locale"
64 
65 /*!
66  \def TR_V8PLUGIN
67 
68  \brief It marks a string in order to get translated. This is a special mark used in the Vector Geometry module of TerraLib.
69  */
70 #define TR_V8PLUGIN(message) TR(message, TE_V8PLUGIN_TEXT_DOMAIN)
71 
72 /*!
73  \def TR_V8PLUGIN_PLURAL
74 
75  \brief It marks a string in order to get translated according to plural form. This is the mark used in the Common module of TerraLib.
76  */
77 #define TR_V8PLUGIN_PLURAL(message1, message2, n) TR_PLURAL(TE_V8PLUGIN_TEXT_DOMAIN, message1, message2, n)
78 
79 //@}
80 
81 /** @name DLL/LIB Module
82  * Flags for building TerraLib as a DLL or as a Static Library
83  */
84 //@{
85 
86 /*!
87  \def TEV8PLUGINEXPORT
88 
89  \brief You can use this macro in order to export/import classes and functions from this module.
90 
91  \note If you want to compile TerraLib as DLL in Windows, remember to insert TEV8PLUGINDLL into the project's list of defines.
92 
93  \note If you want to compile TerraLib as an Static Library under Windows, remember to insert the TEV8PLUGINSTATIC flag into the project list of defines.
94  */
95 
96 #ifdef WIN32
97 
98  #ifdef _MSC_VER
99  #pragma warning( disable : 4251 )
100  #pragma warning( disable : 4275 )
101  #endif
102 
103  #ifdef TEV8PLUGINSTATIC
104  #define TEV8PLUGINEXPORT // Don't need to export/import... it is a static library
105  #elif TEV8PLUGINDLL
106  #define TEV8PLUGINEXPORT __declspec(dllexport) // export DLL information
107  #else
108  #define TEV8PLUGINEXPORT __declspec(dllimport) // import DLL information
109  #endif
110 #else
111  #define TEV8PLUGINEXPORT
112 #endif
113 
114 //@}
115 
116 #endif // __TERRALIB_BINDING_V8_PLUGIN_INTERNAL_CONFIG_H
117 
118