Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/proxy/src/lib/network/network_manager.h @ 9630

Last change on this file since 9630 was 9600, checked in by patrick, 18 years ago

reconnection command deep structure

File size: 1.6 KB
Line 
1/*!
2 * @file network_manager.h
3  *  Main interface for the network module. Manages all the modules
4*/
5
6/* you will want to add such a a line at your header file also, since it will
7   prevent c++ from including your code twice*/
8#ifndef _NETWORK_MANAGER
9#define _NETWORK_MANAGER
10
11/* include this file, it contains some default definitions */
12#include "netdefs.h"
13#include "shared_network_data.h"
14
15/* include base_object.h since all classes are derived from this one */
16#include "base_object.h"
17
18
19
20class NetworkStream;
21class Synchronizeable;
22
23
24/* and here is the class itsself*/
25class NetworkManager : public BaseObject
26{
27
28  public:
29
30    inline static NetworkManager* getInstance() { if (!NetworkManager::singletonRef) NetworkManager::singletonRef = new NetworkManager();
31      return NetworkManager::singletonRef; }
32    virtual ~NetworkManager();
33
34    void initialize();
35    void shutdown();
36
37    int createClient( const std::string & name, unsigned int port);
38    int createMasterServer( unsigned int port);
39    int createProxyServer( unsigned int port);
40
41    void reconnectToServer(IP address);
42
43    void connectSynchronizeable(Synchronizeable& sync);
44    void synchronize(float dtS);
45
46    void debug();
47
48
49  private:
50    NetworkManager();
51
52
53  private:
54    static NetworkManager*           singletonRef;            //!< Pointer to the only instance of this Class
55    NetworkStream*                   networkStream;           //!< pointer to network stream
56
57    float                            elapsedTime;             //!< elapsed time since the last network update
58};
59
60
61
62#endif /* _NETWORK_MANAGER */
Note: See TracBrowser for help on using the repository browser.