Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/resource/src/core/CorePrereqs.h @ 3346

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

Moved GraphicsManager and GUIManager to the core. Almost no actual code changes though, just moving (here was that Map-hack I had to move to GSGraphics).

  • Property svn:eol-style set to native
File size: 6.2 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 Value
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 GraphicsManager;
126    class GUIManager;
127    class Identifier;
128    class IRC;
129    template <class T>
130    class Iterator;
131    class IteratorBase;
132    class Language;
133    class LanguageEntry;
134    class Loader;
135    class LuaBind;
136    class MetaObjectList;
137    class MetaObjectListElement;
138    class Namespace;
139    class NamespaceNode;
140    template <class T>
141    class ObjectList;
142    class ObjectListBase;
143    class ObjectListBaseElement;
144    template <class T>
145    class ObjectListElement;
146    template <class T>
147    class ObjectListIterator;
148    class OgreWindowEventListener;
149    class OrxonoxClass;
150    class Shell;
151    class ShellListener;
152    template <class T>
153    class SubclassIdentifier;
154    class TclBind;
155    struct TclInterpreterBundle;
156    template <class T>
157    class TclThreadList;
158    class TclThreadManager;
159    class Template;
160    class WindowEventListener;
161    class XMLFile;
162    class XMLNameListener;
163    template <class T, class O>
164    class XMLPortClassObjectContainer;
165    template <class T>
166    class XMLPortClassParamContainer;
167    class XMLPortObjectContainer;
168    class XMLPortParamContainer;
169
170    // game states
171    class Game;
172    struct GameStateConstrParams;
173    class GameState;
174    struct GameStateTreeNode;
175
176    // input
177    class BaseCommand;
178    class BufferedParamCommand;
179    class Button;
180    class CalibratorCallback;
181    class HalfAxis;
182    class InputBuffer;
183    class InputDevice;
184    template <class Traits>
185    class InputDeviceTemplated;
186    class InputHandler;
187    class InputManager;
188    class InputState;
189    class JoyStick;
190    class Mouse;
191    class Keyboard;
192    class KeyBinder;
193    class KeyDetector;
194    class ParamCommand;
195    class SimpleCommand;
196
197
198    // multithreading
199    class Thread;
200    class ThreadPool;
201}
202
203// CppTcl
204namespace Tcl
205{
206    class interpreter;
207    class object;
208}
209
210// Boost
211namespace boost
212{
213    namespace filesystem
214    {
215        struct path_traits;
216        template <class String, class Traits> class basic_path;
217        typedef basic_path<std::string, path_traits> path;
218    }
219    class thread;
220    class mutex;
221    class shared_mutex;
222    class condition_variable;
223}
224
225// CEGUI
226namespace CEGUI
227{
228    class DefaultLogger;
229    class Logger;
230    class LuaScriptModule;
231
232    class OgreCEGUIRenderer;
233    class OgreCEGUIResourceProvider;
234    class OgreCEGUITexture;
235}
236
237// Lua
238struct lua_State;
239
240// TinyXML and TinyXML++
241class TiXmlString;
242class TiXmlOutStream;
243class TiXmlNode;
244class TiXmlHandle;
245class TiXmlDocument;
246class TiXmlElement;
247class TiXmlComment;
248class TiXmlUnknown;
249class TiXmlAttribute;
250class TiXmlText;
251class TiXmlDeclaration;
252class TiXmlParsingData;
253namespace ticpp
254{
255    class Document;
256    class Element;
257    class Declaration;
258    class StylesheetReference;
259    class Text;
260    class Comment;
261    class Attribute;
262}
263namespace orxonox
264{
265    using ticpp::Document;
266    using ticpp::Element;
267    using ticpp::Declaration;
268    using ticpp::StylesheetReference;
269    using ticpp::Text;
270    using ticpp::Comment;
271    using ticpp::Attribute;
272}
273
274
275#endif /* _CorePrereqs_H__ */
Note: See TracBrowser for help on using the repository browser.