Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/network/src/network/ClientInformation.h @ 1047

Last change on this file since 1047 was 1008, checked in by dumenim, 16 years ago

changed some comments and catched some return values and maybe some stuff we have to unchange

File size: 1.7 KB
Line 
1//
2// C++ Interface: ClientInformation
3//
4// Description:
5//
6//
7// Author:  <>, (C) 2007
8//
9// Copyright: See COPYING file that comes with this distribution
10//
11//
12#ifndef _ClientInformation_H__
13#define _ClientInformation_H__
14
15#include <enet/enet.h>
16
17#include "NetworkPrereqs.h"
18
19#define GAMESTATEID_INITIAL -1
20
21namespace network
22{
23  /**
24  * This class implements a list for client informations
25  * @author Oliver Scheuss
26  */
27  class ClientInformation{
28  public:
29    ClientInformation();
30    ClientInformation(bool head);
31    //   ClientInformation(ClientInformation *prev, ClientInformation *next);
32    //   ClientInformation(ClientInformation *prev);
33    ~ClientInformation();
34    ClientInformation *next();
35    ClientInformation *prev();
36    bool setNext(ClientInformation *next);
37    bool setPrev(ClientInformation *prev);
38    ClientInformation *insertAfter(ClientInformation *ins);
39    ClientInformation *insertBefore(ClientInformation *ins);
40    ClientInformation *insertBack(ClientInformation *ins);
41    void setID(int clientID);
42    void setPeer(ENetPeer *peer);
43    void setGamestateID(int id);
44    int getID();
45    ENetPeer *getPeer();
46    int getGamestateID();
47    bool removeClient(int clientID);
48    bool removeClient(ENetPeer *peer);
49    //## add bool mask-function eventually
50    ClientInformation *findClient(int clientID, bool look_backwards=false);
51    //## add bool mask-function eventually
52    ClientInformation *findClient(ENetAddress *address, bool look_backwards=false);
53
54    void setSynched(bool s);
55    bool getSynched();
56
57    bool head;
58
59  private:
60    ClientInformation *preve;
61    ClientInformation *nexte;
62    //actual information:
63    ENetPeer *peer_;
64    int clientID_;
65    int gamestateID_;
66    bool synched_;
67  };
68
69}
70
71#endif /* _ClientInformation_H__ */
Note: See TracBrowser for help on using the repository browser.