Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/proxy/src/lib/network/monitor/network_node.cc @ 9284

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

peerinfos are now gettable from outside

File size: 2.2 KB
Line 
1/*
2   orxonox - the future of 3D-vertical-scrollers
3
4   Copyright (C) 2004 orx
5
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 2, or (at your option)
9   any later version.
10
11### File Specific:
12   main-programmer: Patrick Boenzli
13*/
14
15
16#include "network_node.h"
17
18#include "debug.h"
19
20
21/**
22 * constructor
23 */
24NetworkNode::NetworkNode(PeerInfo* pInfo)
25{
26  this->playerNumber = 0;
27  this->peerInfo = pInfo;
28}
29
30
31/**
32 * deconstructor
33 */
34NetworkNode::~NetworkNode()
35{}
36
37
38/**
39 * adds a client
40 */
41void NetworkNode::addClient(PeerInfo* node)
42{
43  this->clientList.push_back(node);
44  this->playerNumber++;
45}
46
47/**
48 * adds a proxy server
49 */
50void NetworkNode::addProxyServer(PeerInfo* node)
51{
52  this->proxyServerList.push_back(node);
53  this->playerNumber++;
54}
55
56/**
57 * adds a master server
58 */
59void NetworkNode::addMasterServer(PeerInfo* node)
60{
61  this->masterServerList.push_back(node);
62  this->playerNumber++;
63}
64
65/**
66 * removes a client
67 */
68void NetworkNode::removeClient(PeerInfo* node)
69{
70  std::list<PeerInfo*>::iterator it = this->clientList.begin();
71  for(; it != this->clientList.end(); it++)
72  {
73    if( *it == node)
74    {
75      this->clientList.erase(it);
76      this->playerNumber--;
77      return;
78    }
79  }
80
81  PRINTF(2)("Could not remove client from the list, very strange...");
82}
83
84/**
85 * removes a proxy server
86 */
87void NetworkNode::removeProxyServer(PeerInfo* node)
88{
89  std::list<PeerInfo*>::iterator it = this->proxyServerList.begin();
90  for(; it != this->proxyServerList.end(); it++)
91  {
92    if( *it == node)
93    {
94      this->proxyServerList.erase(it);
95      this->playerNumber--;
96      return;
97    }
98  }
99
100  PRINTF(2)("Could not remove proxy server from the list, very strange...");
101}
102
103/**
104 * removes a master server
105 */
106void NetworkNode::removeMasterServer(PeerInfo* node)
107{
108  std::list<PeerInfo*>::iterator it = this->masterServerList.begin();
109  for(; it != this->masterServerList.end(); it++)
110  {
111    if( *it == node)
112    {
113      this->masterServerList.erase(it);
114      this->playerNumber--;
115      return;
116    }
117  }
118
119  PRINTF(2)("Could not remove client from the list, very strange...");
120}
Note: See TracBrowser for help on using the repository browser.