Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/core7/src/libraries/util/UtilPrereqs.h @ 10407

Last change on this file since 10407 was 10407, checked in by landauf, 9 years ago

moved Scope and ScopedSingletonManager from util to core.
TODO I had to disable two tests in ScopeTest.cc because now that it runs in the core library, there are too many singletons which get loaded in graphics scope (with too many dependencies). this should be fixed

  • Property svn:eol-style set to native
File size: 3.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 *      Fabian 'x3n' Landau
26 *
27 */
28
29/**
30@file
31@brief
32    Shared library macros, enums, constants and forward declarations for the util library
33*/
34
35#ifndef _UtilPrereqs_H__
36#define _UtilPrereqs_H__
37
38#include "OrxonoxConfig.h"
39
40//-----------------------------------------------------------------------
41// Shared library settings
42//-----------------------------------------------------------------------
43
44#if defined(ORXONOX_PLATFORM_WINDOWS) && !defined( UTIL_STATIC_BUILD )
45#  ifdef UTIL_SHARED_BUILD
46#    define _UtilExport __declspec(dllexport)
47#  else
48#    if defined( __MINGW32__ )
49#      define _UtilExport
50#    else
51#      define _UtilExport __declspec(dllimport)
52#    endif
53#  endif
54#  define _UtilPrivate
55#elif defined (ORXONOX_GCC_VISIBILITY)
56#  define _UtilExport  __attribute__ ((visibility("default")))
57#  define _UtilPrivate __attribute__ ((visibility("hidden")))
58#else
59#  define _UtilExport
60#  define _UtilPrivate
61#endif
62
63//-----------------------------------------------------------------------
64// Forward declarations
65//-----------------------------------------------------------------------
66
67namespace orxonox
68{
69    class AdditionalContextListener;
70    class BaseWriter;
71    class Clock;
72    class ConsoleWriter;
73    class Exception;
74    class ExprParser;
75    class LogWriter;
76    class MemoryWriter;
77    class MultiType;
78    class OutputListener;
79    class OutputManager;
80    class OutputStream;
81    class ScopeListener;
82    template <class T>
83    class SharedPtr;
84    class SignalHandler;
85    template <class T>
86    class Singleton;
87    class SubcontextOutputListener;
88    class SubString;
89}
90
91namespace Ogre
92{
93    class Radian;
94    class Degree;
95    class Vector2;
96    class Vector3;
97    class Vector4;
98    class Matrix3;
99    class Matrix4;
100    class Quaternion;
101    class ColourValue;
102}
103namespace orxonox
104{
105    using Ogre::Radian;
106    using Ogre::Degree;
107    using Ogre::Vector2;
108    using Ogre::Vector3;
109    using Ogre::Vector4;
110    using Ogre::Matrix3;
111    using Ogre::Matrix4;
112    using Ogre::Quaternion;
113    using Ogre::ColourValue;
114}
115
116namespace Loki
117{
118    class ScopeGuardImplBase;
119    typedef const ScopeGuardImplBase& ScopeGuard;
120}
121
122// Just so you don't have to include StringUtils.h everywhere just for this
123namespace orxonox
124{
125    extern _UtilExport std::string BLANKSTRING;
126}
127
128
129#endif /* _UtilPrereqs_H__ */
Note: See TracBrowser for help on using the repository browser.