Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/netp5/src/network/NetworkPrereqs.h @ 3211

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

Moved PacketFlag and added includes for memcpy() and abort() (Mingw didn't seem to care).

  • Property svn:eol-style set to native
File size: 3.9 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 _NetworkPrereqs_H__
35#define _NetworkPrereqs_H__
36
37#include "OrxonoxConfig.h"
38
39//-----------------------------------------------------------------------
40// Shared library settings
41//-----------------------------------------------------------------------
42#if defined(ORXONOX_PLATFORM_WINDOWS) && !defined( NETWORK_STATIC_BUILD )
43#  ifdef NETWORK_SHARED_BUILD
44#    define _NetworkExport __declspec(dllexport)
45#  else
46#    if defined( __MINGW32__ )
47#      define _NetworkExport
48#    else
49#      define _NetworkExport __declspec(dllimport)
50#    endif
51#  endif
52#elif defined ( ORXONOX_GCC_VISIBILITY )
53#  define _NetworkExport  __attribute__ ((visibility("default")))
54#else
55#  define _NetworkExport
56#endif
57
58//-----------------------------------------------------------------------
59// Library global contants
60//-----------------------------------------------------------------------
61namespace orxonox
62{
63  static const unsigned int GAMESTATEID_INITIAL = (unsigned int)-1;
64  static const unsigned int CLIENTID_UNKNOWN    = (unsigned int)-2;
65  static const uint32_t     OBJECTID_UNKNOWN    = (uint32_t)(-1);
66}
67
68//-----------------------------------------------------------------------
69// Forward declarations
70//-----------------------------------------------------------------------
71
72// from ENet
73struct _ENetPeer;
74typedef _ENetPeer ENetPeer;
75struct _ENetPacket;
76typedef _ENetPacket ENetPacket;
77struct _ENetEvent;
78typedef _ENetEvent ENetEvent;
79struct _ENetHost;
80typedef _ENetHost ENetHost;
81struct _ENetAddress;
82typedef _ENetAddress ENetAddress;
83
84namespace orxonox
85{
86  class Client;
87  class ClientConnection;
88  class ClientConnectionListener;
89  class ClientFrameListener;
90  class ClientInformation;
91  class Connection;
92  class FunctionCallManager;
93  class GamestateClient;
94  class GamestateManager;
95  class GamestateHandler;
96  class NetworkCallbackBase;
97  template <class T> class NetworkCallback;
98  class NetworkCallbackManager;
99  class NetworkFunctionBase;
100  class NetworkFunctionStatic;
101  class NetworkMemberFunctionBase;
102  template <class T> class NetworkMemeberFunction;
103  struct NetworkFunctionPointer;
104  class PacketBuffer;
105  class Server;
106  class ServerConnection;
107  class ServerFrameListener;
108  class Synchronisable;
109  class SynchronisableVariableBase;
110  template <class T> class SynchronisableVariable;
111  template <class T> class SynchronisableVariableBidirectional;
112  struct ClientList;
113  struct PacketEnvelope;
114  struct QueueItem;
115  struct syncData;
116  class TrafficControl;
117  class obj;
118  class objInfo;
119
120  namespace packet
121  {
122    class Acknowledgement;
123    class Chat;
124    class ClassID;
125    class FunctionCalls;
126    class FunctionIDs;
127    class Gamestate;
128    class NetworkIDs;
129    class Packet;
130    class Welcome;
131
132    namespace PacketFlag
133    {
134      enum Enum
135      {
136        Reliable   = 1,
137        Unsequence = 2,
138        NoAllocate = 4
139      };
140    }
141  }
142}
143
144#endif /* _NetworkPrereqs_H__ */
Note: See TracBrowser for help on using the repository browser.