/*! * @file network_monitor.h * a class to monitor the network: throughput, network nodes */ #ifndef _NETWORK_MONITOR_H #define _NETWORK_MONITOR_H #include "base_object.h" #include "synchronizeable.h" #include class NetworkStream; class PeerInfo; class OrxGui::GLGuiBox; class NetworkMonitor : public Synchronizeable { public: NetworkMonitor(NetworkStream* networkStream); virtual ~NetworkMonitor(); void addClient(PeerInfo* node); void addProxyServer(PeerInfo* node); void addMasterServer(PeerInfo* node); void removeClient(PeerInfo* node); void removeProxyServer(PeerInfo* node); void removeMasterServer(PeerInfo* node); void showGUI(); void process(); private: std::list clientList; //!< list of all clients in the network std::list proxyServerList; //!< list of all proxy servers in the network std::list masterServerList; //!< list of all master servers in the network (should be 1!! :D) OrxGui::GLGuiBox* box; }; #endif