MezzanineEngine 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
swig.h
Go to the documentation of this file.
1 // © Copyright 2010 - 2014 BlackTopp Studios Inc.
2 /* This file is part of The Mezzanine Engine.
3 
4  The Mezzanine Engine is free software: you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation, either version 3 of the License, or
7  (at your option) any later version.
8 
9  The Mezzanine Engine is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with The Mezzanine Engine. If not, see <http://www.gnu.org/licenses/>.
16 */
17 /* The original authors have included a copy of the license specified above in the
18  'Docs' folder. See 'gpl.txt'
19 */
20 /* We welcome the use of the Mezzanine engine to anyone, including companies who wish to
21  Build professional software and charge for their product.
22 
23  However there are some practical restrictions, so if your project involves
24  any of the following you should contact us and we will try to work something
25  out:
26  - DRM or Copy Protection of any kind(except Copyrights)
27  - Software Patents You Do Not Wish to Freely License
28  - Any Kind of Linking to Non-GPL licensed Works
29  - Are Currently In Violation of Another Copyright Holder's GPL License
30  - If You want to change our code and not add a few hundred MB of stuff to
31  your distribution
32 
33  These and other limitations could cause serious legal problems if you ignore
34  them, so it is best to simply contact us or the Free Software Foundation, if
35  you have any questions.
36 
37  Joseph Toppi - toppij@gmail.com
38  John Blackwood - makoenergy02@gmail.com
39 */
40 #ifndef _swig_h
41 #define _swig_h
42 
43 ///////////////////////////////////////////////////////////////////////////////
44 /// @file
45 /// @brief Used to give commands specifically to the SWIG preprocessor
46 /// @details SWIG is a C/C++ source code preprocessor that reads source files
47 /// and produces an implementation of bindings for that language. Currently it
48 /// is only used for Lua. It can be used for other items in the future.
49 ///////////////////////////////////////////////////////////////////////////////
50 
51 // Prevent doxygen parsing of the items to insert in the bindings files
52 
53 #ifdef SWIG
54  // This block of code is only read by swig.
55 
56  // Tell SWIG to create a module that scripting languages can use called "mezzanine"
57  // and insert a minimum of documentation into the bindingfile
58  %{
59  // code to be inserted verbatim into the swig file goes here
60  #include "mezzanine.h"
61  #include "btBulletDynamicsCommon.h"
62  #include "Ogre.h"
63 
64  #ifdef GetCurrentTime
65  #undef GetCurrentTime
66  #endif
67 
68  #ifdef GetExceptionCode
69  #undef GetExceptionCode
70  #endif
71 
72  using namespace Mezzanine;
73  using namespace Mezzanine::Threading;
74  %}
75 
76  %include stl.i
77  %include stdint.i
78  %include std_except.i
79  %include std_common.i
80  //%include std_container.i
81  %include std_deque.i
82  %include std_except.i
83  //%include std_list.i
84  %include std_map.i
85  %include std_pair.i
86  %include std_string.i
87  %include std_vector.i
88 
89  // Since swig will process only on language and only the safe or unsafe version of it at a time
90  // this is where the naming of the Mezzanine library should occur. This does not affect the
91  // ability to load Multiple libraries or even scripting languages at the same time if required.
92  /// @def SWIG_MODULE_SET
93  /// @brief This is set
94  #ifdef SWIG_MAIN
95  #ifdef SWIG_UNSAFE
96  %module Mezzanine
97  #else
98  #define SWIG_SAFE
99  %module MezzanineSafe
100  #endif
101  #define SWIG_MODULE_SET
102  #endif
103 
104  // Fix for: XML/xml.h:XXXX: Warning 403: Class 'Mezzanine::XML::XPathException' might be abstract, no constructors generated
105  //%warnfilter(403) Mezzanine::XML::XPathException;
106 #endif // end SWIG
107 
108 
109 // Warn SWIG users of the messages that Swig will produce
110 
111 
112 
113 
114 #endif