Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/FICN/src/network/ClientInformation.h @ 666

Last change on this file since 666 was 636, checked in by scheusso, 17 years ago

synchronising of classid↔classname works now

File size: 1.6 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 NETWORKCLIENTINFORMATION_H
13#define NETWORKCLIENTINFORMATION_H
14
15#include <enet/enet.h>
16#include <iostream> //debug
17
18#define GAMESTATEID_INITIAL -1
19
20namespace network {
21
22/**
23 * This class implements a list for client informations
24 * @author Oliver Scheuss
25*/
26class ClientInformation{
27public:
28  ClientInformation();
29  ClientInformation(bool head);
30//   ClientInformation(ClientInformation *prev, ClientInformation *next);
31//   ClientInformation(ClientInformation *prev);
32  ~ClientInformation();
33  ClientInformation *next();
34  ClientInformation *prev();
35  bool setNext(ClientInformation *next);
36  bool setPrev(ClientInformation *prev);
37  ClientInformation *insertAfter(ClientInformation *ins);
38  ClientInformation *insertBefore(ClientInformation *ins);
39  ClientInformation *insertBack(ClientInformation *ins);
40  void setID(int clientID);
41  void setPeer(ENetPeer *peer);
42  void setGamestateID(int id);
43  int getID();
44  ENetPeer *getPeer();
45  int getGamestateID();
46  bool removeClient(int clientID);
47  bool removeClient(ENetPeer *peer);
48  ClientInformation *findClient(int clientID, bool look_backwards=false);
49  ClientInformation *findClient(ENetAddress *address, bool look_backwards=false);
50 
51  void setSynched(bool s);
52  bool getSynched();
53 
54  bool head;
55 
56private:
57  ClientInformation *preve;
58  ClientInformation *nexte;
59  //actual information:
60  ENetPeer *peer_;
61  int clientID_;
62  int gamestateID_;
63  bool synched_;
64};
65
66}
67
68#endif
Note: See TracBrowser for help on using the repository browser.