diff options
Diffstat (limited to 'include/users.h')
-rw-r--r-- | include/users.h | 39 |
1 files changed, 13 insertions, 26 deletions
diff --git a/include/users.h b/include/users.h index 883fbadf8..f098500e3 100644 --- a/include/users.h +++ b/include/users.h @@ -17,17 +17,12 @@ #include "socket.h" #include "connection.h" #include "dns.h" -#include "mode.h" -#include "linebuffer.h" - -#include <list> // XXX XXX XXX this should probably be moved to globals.h, and globals.h should probably be merged in with inspircd.h sometime. -- w00t -#define _GLIBCXX_FORCE_NEW 1 +#include "mode.h" /** Channel status for a user */ -enum ChanStatus -{ +enum ChanStatus { /** Op */ STATUS_OP = 4, /** Halfop */ @@ -40,8 +35,7 @@ enum ChanStatus /** connect class types */ -enum ClassTypes -{ +enum ClassTypes { /** connect:allow */ CC_ALLOW = 0, /** connect:deny */ @@ -50,8 +44,7 @@ enum ClassTypes /** RFC1459 channel modes */ -enum UserModes -{ +enum UserModes { /** +s: Server notices */ UM_SERVERNOTICE = 's' - 65, /** +w: WALLOPS */ @@ -67,17 +60,16 @@ enum UserModes /** Registration state of a user, e.g. * have they sent USER, NICK, PASS yet? */ -enum RegistrationState -{ -#ifndef REG_NONE /* This is already defined in win32, luckily it is still 0. -- Burlex - XXX perhaps we should undef it just in case.. Relying on magic numbers... -- w00t */ +enum RegistrationState { + +#ifndef WIN32 // Burlex: This is already defined in win32, luckily it is still 0. REG_NONE = 0, /* Has sent nothing */ #endif REG_USER = 1, /* Has sent USER */ REG_NICK = 2, /* Has sent NICK */ REG_NICKUSER = 3, /* Bitwise combination of REG_NICK and REG_USER */ - REG_ALL = 7 /* REG_NICKUSER plus next bit along */ + REG_ALL = 7 /* REG_NICKUSER plus next bit along */ }; /* Required forward declaration */ @@ -606,15 +598,10 @@ class CoreExport User : public connection */ std::string recvq; - /** How many bytes are currently in the user's sendq. - */ - unsigned long sendqlength; - /** List of pointers to buffer objects, this is the actual user's sendq. - */ - std::list<LineBuffer*, __gnu_cxx::new_allocator<LineBuffer*> > sendq; - /** How far into the current sendq line is the user? + /** User's send queue. + * Lines waiting to be sent are stored here until their buffer is flushed. */ - unsigned long sendqpos; + std::string sendq; /** Message user will quit with. Not to be set externally. */ @@ -856,13 +843,13 @@ class CoreExport User : public connection */ const char* GetWriteError(); - /** Adds a line buffer to the user's sendq. + /** Adds to the user's write buffer. * You may add any amount of text up to this users sendq value, if you exceed the * sendq value, SetWriteError() will be called to set the users error string to * "SendQ exceeded", and further buffer adds will be dropped. * @param data The data to add to the write buffer */ - void AddWriteBuf(LineBuffer *l); + void AddWriteBuf(const std::string &data); /** Flushes as much of the user's buffer to the file descriptor as possible. * This function may not always flush the entire buffer, rather instead as much of it |