X-Git-Url: https://jfr.im/git/irc/gameservirc.git/blobdiff_plain/e3c5fe465a2a79b9a304d630ab5bdf8e8eddb96a..f809a0d876151c3149168d121e833884a394015c:/gameserv/aClient.cpp diff --git a/gameserv/aClient.cpp b/gameserv/aClient.cpp index 6aee7d0..64884d3 100644 --- a/gameserv/aClient.cpp +++ b/gameserv/aClient.cpp @@ -8,6 +8,7 @@ aClient::aClient(char *n) << (n[0] == '\0' ? "NULL" : n) << endl; strcpy(nick, n); stats = NULL; + flags = 0; } aClient::aClient(const aClient &right) @@ -15,23 +16,26 @@ aClient::aClient(const aClient &right) cout << "aClient created from another aClient: " << right.nick << endl; stats = NULL; + flags = 0; setData(&right); } aClient::aClient() { aClient(""); + flags = 0; } aClient::~aClient() { - cout << "aClient deleted: " << *this; + cout << "aClient deleted: " << *this << flush; if (stats) { - cout << ' ' << stats->name << endl << flush; + cout << ' ' << stats->name << ' ' << stats->password << endl << flush; delete stats; } - cout << endl; + flags = 0; + cout << endl << flush; } ostream &operator<<( ostream &out, const aClient &c ) @@ -55,3 +59,21 @@ void aClient::setData(const aClient *right) } } } + +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(); +}