File: ServerInfo.cpp

package info (click to toggle)
eris 1.3.10-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 2,592 kB
  • ctags: 1,516
  • sloc: cpp: 9,850; sh: 8,288; perl: 287; ansic: 165; makefile: 162
file content (68 lines) | stat: -rw-r--r-- 1,214 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#ifdef HAVE_CONFIG_H
    #include "config.h"
#endif

#include <Eris/ServerInfo.h>

#include <Eris/Log.h>

#include <Atlas/Objects/Entity.h>


using Atlas::Objects::Entity::RootEntity;

namespace Eris
{

ServerInfo::ServerInfo() :
    m_status(INVALID)
{
    _ping = -1;
    _name = "-";
    _ruleset = "-";
    _server = "";
    _clients = 0;
    _uptime = 0;
}

ServerInfo::ServerInfo(const std::string &host) :
    m_status(INVALID),
    _host(host)
{
    _ping = -1;
    _name = "-";
    _ruleset = "-";
    _server = "";
    _clients = 0;
    _uptime = 0;
}
	
void ServerInfo::processServer(const RootEntity &svr)
{
    m_status = VALID;
    _ruleset = svr->getAttr("ruleset").asString();
    _name = svr->getName();
    _clients = svr->getAttr("clients").asInt();
    _server = svr->getAttr("server").asString();
    _uptime = svr->getAttr("uptime").asFloat();
    
    if (svr->hasAttr("version")) {
        m_version = svr->getAttr("version").asString();
    }
    
    if (svr->hasAttr("builddate")) {
        m_buildDate = svr->getAttr("builddate").asString();
    }
}

void ServerInfo::setPing(int p)
{
    _ping = p;
}

void ServerInfo::setStatus(Status s)
{
    m_status = s;
}

} // of namespace Eris