#include "aClient.h"
+#include "options.h"
+#include "extern.h"
#include <stdlib.h>
#include <stdio.h>
aClient::aClient(char *n)
{
- cout << "aClient created: "
- << (n[0] == '\0' ? "NULL" : n) << endl;
+ #ifdef DEBUGMODE
+ log("aClient created: %s", (n[0] == '\0' ? "NULL" : n));
+ #endif
strcpy(nick, n);
+
+ #ifdef P10
+ strcpy(realnick, n);
+ #endif
+
+ stats = NULL;
+ flags = 0;
+}
+#ifdef P10
+aClient::aClient(char *n, char *rn)
+{
+ #ifdef DEBUGMODE
+ log("aClient created: %s", (n[0] == '\0' ? "NULL" : n));
+ #endif
+ strcpy(nick, n);
+ strcpy(realnick, rn);
stats = NULL;
+ flags = 0;
}
+#endif
aClient::aClient(const aClient &right)
{
- cout << "aClient created from another aClient: " << right.nick
- << endl;
+ #ifdef DEBUGMODE
+ log("aClient created from another aClient: %s\n", right.nick);
+ #endif
+
stats = NULL;
+ flags = 0;
setData(&right);
}
aClient::~aClient()
{
- cout << "aClient deleted: " << *this;
if (stats)
{
- cout << ' ' << stats->name;
+ #ifdef DEBUGMODE
+ log("aClient deleted: %s %s %s", nick, stats->name, stats->password);
+ #endif
+
delete stats;
}
- cout << endl;
+ #ifdef DEBUGMODE
+ else
+ {
+ log("aClient deleted: %s", nick);
+ }
+ #endif
+
+ flags = 0;
}
ostream &operator<<( ostream &out, const aClient &c )
if (right != this)
{
strcpy(nick, right->nick);
+ #ifdef P10
+ strcpy(realnick, right->realnick);
+ #endif
if (right->stats)
{
if (!stats)
stats = new Player;
+ #ifdef DEBUGMODE
+ log("Should be setting data for %s", right->stats->name);
+ #endif
- cout << "Should be setting data for " << right->stats->name << endl;
stats->setData(right->stats);
}
}
}
+
+long int aClient::setFlags(long int newflags)
+{
+ flags = newflags;
+ return getFlags();
+}
+
+long int aClient::addFlag(long int flag)
+{
+ flags |= flag;
+ return getFlags();
+}
+
+long int aClient::remFlag(long int flag)
+{
+ flags &= ~flag;
+ return getFlags();
+}