]> jfr.im git - irc/gameservirc.git/blame - gameserv/aClient.cpp
Cleaned up the aClient.cpp code
[irc/gameservirc.git] / gameserv / aClient.cpp
CommitLineData
85ce9d3e 1#include "aClient.h"
9f8c2acc 2#include "options.h"
3#include "extern.h"
85ce9d3e 4#include <stdlib.h>
5#include <stdio.h>
6
7aClient::aClient(char *n)
8{
9f8c2acc 9 #ifdef DEBUGMODE
10 log("aClient created: %s", (n[0] == '\0' ? "NULL" : n));
11 #endif
85ce9d3e 12 strcpy(nick, n);
ce61cdfa 13
14 #ifdef P10
15 strcpy(realnick, n);
16 #endif
17
85ce9d3e 18 stats = NULL;
96f71fee 19 flags = 0;
85ce9d3e 20}
ce61cdfa 21#ifdef P10
22aClient::aClient(char *n, char *rn)
23{
24 #ifdef DEBUGMODE
25 log("aClient created: %s", (n[0] == '\0' ? "NULL" : n));
26 #endif
27 strcpy(nick, n);
28 strcpy(realnick, rn);
29 stats = NULL;
30 flags = 0;
31}
32#endif
85ce9d3e 33
34aClient::aClient(const aClient &right)
35{
9f8c2acc 36 #ifdef DEBUGMODE
37 log("aClient created from another aClient: %s\n", right.nick);
38 #endif
39
85ce9d3e 40 stats = NULL;
96f71fee 41 flags = 0;
85ce9d3e 42 setData(&right);
43}
44
45aClient::aClient()
46{
47 aClient("");
48}
49
50aClient::~aClient()
51{
736353ce 52 if (stats)
53 {
54 #ifdef DEBUGMODE
55 log("aClient deleted: %s %s %s", nick, stats->getName().c_str(),
56 stats->getPassword().c_str());
57 #endif
58
59 delete stats;
60 }
9f8c2acc 61 #ifdef DEBUGMODE
736353ce 62 else
63 {
64 log("aClient deleted: %s", nick);
65 }
9f8c2acc 66 #endif
67
736353ce 68 flags = 0;
85ce9d3e 69}
70
c10b78ac 71bool aClient::operator!=(const aClient &right)
72{
73 return !(*this == right);
74}
75
76bool aClient::operator==(const aClient &right)
77{
736353ce 78 if (strcmp(nick, right.nick) == 0 && stats == right.stats)
79 {
80 return true;
81 }
82 else
83 {
84 return false;
85 }
c10b78ac 86}
87
85ce9d3e 88ostream &operator<<( ostream &out, const aClient &c )
89{
736353ce 90 out << (c.nick[0] == '\0' ? "NULL" : c.nick);
91 return out;
85ce9d3e 92}
93
94void aClient::setData(const aClient *right)
95{
736353ce 96 if (right != this)
97 {
98 strcpy(nick, right->nick);
99 #ifdef P10
100 strcpy(realnick, right->realnick);
101 #endif
102 if (right->stats)
103 {
104 if (!stats)
105 stats = new Player;
106 #ifdef DEBUGMODE
107 log("Should be setting data for %s", right->stats->getName().c_str());
108 #endif
109
110 stats->setData(right->stats);
111 }
112 }
85ce9d3e 113}
96f71fee 114
115long int aClient::setFlags(long int newflags)
116{
736353ce 117 flags = newflags;
118 return getFlags();
96f71fee 119}
120
121long int aClient::addFlag(long int flag)
122{
736353ce 123 flags |= flag;
124 return getFlags();
96f71fee 125}
126
127long int aClient::remFlag(long int flag)
128{
736353ce 129 flags &= ~flag;
130 return getFlags();
96f71fee 131}