Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/netp6/src/core/CorePrereqs.h @ 4246

Last change on this file since 4246 was 3264, checked in by rgrieder, 15 years ago

Moved boost headers from TclThreadmanager.h to the source file.
Also removed the old boost 1.34 commands since Oli requires 1.35 anyway and there have been about three or four new releases of boost since the writing of the code.

  • Property svn:eol-style set to native
File size: 5.7 KB
Line 
1/*
2 *   ORXONOX - the hottest 3D action shooter ever to exist
3 *                    > www.orxonox.net <
4 *
5 *
6 *   License notice:
7 *
8 *   This program is free software; you can redistribute it and/or
9 *   modify it under the terms of the GNU General Public License
10 *   as published by the Free Software Foundation; either version 2
11 *   of the License, or (at your option) any later version.
12 *
13 *   This program is distributed in the hope that it will be useful,
14 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
15 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 *   GNU General Public License for more details.
17 *
18 *   You should have received a copy of the GNU General Public License
19 *   along with this program; if not, write to the Free Software
20 *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
21 *
22 *   Author:
23 *      Reto Grieder
24 *   Co-authors:
25 *      ...
26 *
27 */
28
29/**
30  @file
31  @brief Contains all the necessary forward declarations for all classes and structs.
32*/
33
34#ifndef _CorePrereqs_H__
35#define _CorePrereqs_H__
36
37#include "OrxonoxConfig.h"
38
39//-----------------------------------------------------------------------
40// Shared library settings
41//-----------------------------------------------------------------------
42#if defined(ORXONOX_PLATFORM_WINDOWS) && !defined( CORE_STATIC_BUILD )
43#  ifdef CORE_SHARED_BUILD
44#    define _CoreExport __declspec(dllexport)
45#  else
46#    if defined( __MINGW32__ )
47#      define _CoreExport
48#    else
49#      define _CoreExport __declspec(dllimport)
50#    endif
51#  endif
52#elif defined ( ORXONOX_GCC_VISIBILITY )
53#  define _CoreExport  __attribute__ ((visibility("default")))
54#else
55#  define _CoreExport
56#endif
57
58
59//-----------------------------------------------------------------------
60// Forward declarations
61//-----------------------------------------------------------------------
62namespace orxonox
63{
64    namespace XMLPort
65    {
66        enum Mode
67        {
68            LoadObject,
69            SaveObject,
70            ExpandObject
71        };
72    }
73
74    namespace KeybindMode
75    {
76        enum Enum
77        {
78            OnPress,
79            OnHold,
80            OnRelease,
81            None
82        };
83    };
84
85    typedef std::string LanguageEntryLabel;
86
87    class ArgumentCompleter;
88    class ArgumentCompletionListElement;
89    class BaseFactory;
90    class BaseMetaObjectListElement;
91    class BaseObject;
92    template <class T>
93    class ClassFactory;
94    template <class T>
95    class ClassIdentifier;
96    class ClassTreeMask;
97    class ClassTreeMaskIterator;
98    class ClassTreeMaskNode;
99    class ClassTreeMaskObjectIterator;
100    class Clock;
101    class CommandEvaluation;
102    class CommandExecutor;
103    class CommandLine;
104    class CommandLineArgument;
105    class ConfigFile;
106    class ConfigFileEntry;
107    class ConfigFileEntryComment;
108    class ConfigFileEntryValue;
109    class ConfigFileManager;
110    class ConfigFileSection;
111    class ConfigValueContainer;
112    class ConsoleCommand;
113    class Core;
114    struct Event;
115    class EventContainer;
116    class Executor;
117    template <class T>
118    class ExecutorMember;
119    class ExecutorStatic;
120    class Factory;
121    class Functor;
122    template <class T>
123    class FunctorMember;
124    class FunctorStatic;
125    class Identifier;
126    class IRC;
127    template <class T>
128    class Iterator;
129    class IteratorBase;
130    class Language;
131    class LanguageEntry;
132    class Loader;
133    class LuaBind;
134    class MetaObjectList;
135    class MetaObjectListElement;
136    class Namespace;
137    class NamespaceNode;
138    template <class T>
139    class ObjectList;
140    class ObjectListBase;
141    class ObjectListBaseElement;
142    template <class T>
143    class ObjectListElement;
144    template <class T>
145    class ObjectListIterator;
146    class OrxonoxClass;
147    class Shell;
148    class ShellListener;
149    template <class T>
150    class SubclassIdentifier;
151    class TclBind;
152    class TclThreadManager;
153    class Template;
154    class Tickable;
155    class XMLFile;
156    class XMLNameListener;
157    template <class T, class O>
158    class XMLPortClassObjectContainer;
159    template <class T>
160    class XMLPortClassParamContainer;
161    class XMLPortObjectContainer;
162    class XMLPortParamContainer;
163
164    // game states
165    class Game;
166    class GameState;
167    struct GameStateTreeNode;
168
169    // input
170    class BaseCommand;
171    class BufferedParamCommand;
172    class Button;
173    class CalibratorCallback;
174    class ExtendedInputState;
175    class HalfAxis;
176    class InputBuffer;
177    class InputManager;
178    class InputState;
179    class JoyStickHandler;
180    class MouseHandler;
181    class KeyBinder;
182    class KeyDetector;
183    class KeyHandler;
184    class ParamCommand;
185    class SimpleCommand;
186    class SimpleInputState;
187
188    // multithreading
189    class Thread;
190    class ThreadPool;
191}
192
193// CppTcl
194namespace Tcl
195{
196    class interpreter;
197    class object;
198}
199
200// Boost
201namespace boost
202{ 
203    namespace filesystem
204    {
205        struct path_traits;
206        template <class String, class Traits> class basic_path;
207        typedef basic_path<std::string, path_traits> path;
208    }
209    class thread;
210    class mutex;
211}
212
213// TinyXML and TinyXML++
214class TiXmlString;
215class TiXmlOutStream;
216class TiXmlNode;
217class TiXmlHandle;
218class TiXmlDocument;
219class TiXmlElement;
220class TiXmlComment;
221class TiXmlUnknown;
222class TiXmlAttribute;
223class TiXmlText;
224class TiXmlDeclaration;
225class TiXmlParsingData;
226namespace ticpp
227{
228    class Document;
229    class Element;
230    class Declaration;
231    class StylesheetReference;
232    class Text;
233    class Comment;
234    class Attribute;
235}
236namespace orxonox
237{
238    using ticpp::Document;
239    using ticpp::Element;
240    using ticpp::Declaration;
241    using ticpp::StylesheetReference;
242    using ticpp::Text;
243    using ticpp::Comment;
244    using ticpp::Attribute;
245}
246
247
248#endif /* _CorePrereqs_H__ */
Note: See TracBrowser for help on using the repository browser.