Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/src/libraries/network/NetworkPrereqs.h @ 5929

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

Merged core5 branch back to the trunk.
Key features include clean level unloading and an extended XML event system.

Two important notes:
Delete your keybindings.ini files! * or you will still get parser errors when loading the key bindings.
Delete build_dir/lib/modules/libgamestates.module! * or orxonox won't start.
Best thing to do is to delete the build folder ;)

  • 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
32    Shared library macros, enums, constants and forward declarations for the network library
33*/
34
35#ifndef _NetworkPrereqs_H__
36#define _NetworkPrereqs_H__
37
38#include "OrxonoxConfig.h"
39
40//-----------------------------------------------------------------------
41// Shared library settings
42//-----------------------------------------------------------------------
43
44#if defined(ORXONOX_PLATFORM_WINDOWS) && !defined( NETWORK_STATIC_BUILD )
45#  ifdef NETWORK_SHARED_BUILD
46#    define _NetworkExport __declspec(dllexport)
47#  else
48#    if defined( __MINGW32__ )
49#      define _NetworkExport
50#    else
51#      define _NetworkExport __declspec(dllimport)
52#    endif
53#  endif
54#elif defined ( ORXONOX_GCC_VISIBILITY )
55#  define _NetworkExport  __attribute__ ((visibility("default")))
56#else
57#  define _NetworkExport
58#endif
59
60//-----------------------------------------------------------------------
61// Constants
62//-----------------------------------------------------------------------
63
64namespace orxonox
65{
66  static const unsigned int GAMESTATEID_INITIAL = static_cast<unsigned int>(-1);
67  static const unsigned int CLIENTID_UNKNOWN    = static_cast<unsigned int>(-2);
68}
69
70//-----------------------------------------------------------------------
71// Enums
72//-----------------------------------------------------------------------
73
74namespace orxonox
75{
76  namespace packet
77  {
78    namespace PacketFlag
79    {
80      enum Value
81      {
82        Reliable   = 1,
83        Unsequence = 2,
84        NoAllocate = 4
85      };
86    }
87  }
88}
89
90//-----------------------------------------------------------------------
91// Forward declarations
92//-----------------------------------------------------------------------
93
94// from ENet
95struct _ENetPeer;
96typedef _ENetPeer ENetPeer;
97struct _ENetPacket;
98typedef _ENetPacket ENetPacket;
99struct _ENetEvent;
100typedef _ENetEvent ENetEvent;
101struct _ENetHost;
102typedef _ENetHost ENetHost;
103struct _ENetAddress;
104typedef _ENetAddress ENetAddress;
105
106namespace orxonox
107{
108  class ChatListener;
109  class Client;
110  class ClientConnection;
111  class ClientConnectionListener;
112  class ClientInformation;
113  class Connection;
114  class FunctionCallManager;
115  class GamestateClient;
116  class GamestateHandler;
117  class GamestateManager;
118  class Host;
119  class NetworkFunctionBase;
120  struct NetworkFunctionPointer;
121  class NetworkFunctionStatic;
122  template <class T>
123  class NetworkMemberFunction;
124  class NetworkMemberFunctionBase;
125  class Server;
126  class ServerConnection;
127  class TrafficControl;
128
129  // packet
130  namespace packet
131  {
132    class Acknowledgement;
133    class Chat;
134    class ClassID;
135    class DeleteObjects;
136    class FunctionCalls;
137    class FunctionIDs;
138    class Gamestate;
139    class Packet;
140    class Welcome;
141  }
142
143  // synchronisable
144  template <class T>
145  class NetworkCallback;
146  class NetworkCallbackBase;
147  class NetworkCallbackManager;
148  class Synchronisable;
149  class SynchronisableHeader;
150  template <class T>
151  class SynchronisableVariable;
152  class SynchronisableVariableBase;
153  template <class T>
154  class SynchronisableVariableBidirectional;
155}
156
157#endif /* _NetworkPrereqs_H__ */
Note: See TracBrowser for help on using the repository browser.