00001 #ifndef ERIS_SERVER_INFO_H
00002 #define ERIS_SERVER_INFO_H
00003
00004 #include <string>
00005
00006 namespace Atlas {
00007 namespace Objects {
00008 namespace Entity { class RootEntity; }
00009 }
00010 }
00011
00012 namespace Eris {
00013
00014 class Meta;
00015
00025 class ServerInfo
00026 {
00027 public:
00028
00029
00030
00034 const std::string& getHostname() const
00035 { return _host; }
00036
00038 const std::string& getServername() const
00039 { return _host; }
00040
00042 const std::string& getRuleset() const
00043 { return _ruleset; }
00044
00046 const std::string& getServer() const
00047 { return _server; }
00048
00050 int getNumClients() const
00051 { return _clients; }
00052
00056 int getPing() const
00057 { return _ping; }
00058
00060 double getUptime() const
00061 { return _uptime; }
00062
00063 protected:
00064 friend class Meta;
00065
00067 ServerInfo(const std::string &host);
00068
00070 void processServer(const Atlas::Objects::Entity::RootEntity &svr);
00071
00072 void setPing(int p);
00073
00074 std::string _host;
00075
00076 std::string _name,
00077 _ruleset,
00078 _server;
00079
00080 int _clients;
00081 int _ping;
00082
00083 double _uptime;
00084 };
00085
00086 }
00087
00088 #endif
00089