X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fusers.h;h=d9330d42720437020225db9b0648fd5b417b0793;hb=ece985ccb3210a132d67381511642edfb359f5c4;hp=0cf786c761b80ed486544280fe69f81287ceb4f9;hpb=7dbd30b89c18f212041582f6638f2ae1b62a5b4d;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/users.h b/include/users.h index 0cf786c76..d9330d427 100644 --- a/include/users.h +++ b/include/users.h @@ -2,7 +2,7 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * InspIRCd: (C) 2002-2007 InspIRCd Development Team + * InspIRCd: (C) 2002-2008 InspIRCd Development Team * See: http://www.inspircd.org/wiki/index.php/Credits * * This program is free but copyrighted software; see @@ -481,14 +481,12 @@ class CoreExport User : public connection */ void DecrementModes(); - /** Oper-only quit message for this user if non-null - */ - char* operquit; - /** Max channels for this user */ unsigned int MaxChans; + std::map* AllowedOperCommands; + public: /** Contains a pointer to the connect class a user is on from - this will be NULL for remote connections. * The pointer is guarenteed to *always* be valid. :) @@ -614,6 +612,18 @@ class CoreExport User : public connection */ std::string sendq; + /** Message user will quit with. Not to be set externally. + */ + std::string quitmsg; + + /** Quit message shown to opers - not to be set externally. + */ + std::string operquitmsg; + + /** Whether or not to send an snotice about this user's quitting + */ + bool quietquit; + /** Flood counters - lines received */ unsigned int lines_in; @@ -622,13 +632,12 @@ class CoreExport User : public connection */ time_t reset_due; - /** If this is set to true, then all read operations for the user + /** If this is set to true, then all socket operations for the user * are dropped into the bit-bucket. - * This is used by the global CullList, but please note that setting this value - * alone will NOT cause the user to quit. This means it can be used seperately, - * for example by shun modules etc. + * This value is set by QuitUser, and is not needed seperately from that call. + * Please note that setting this value alone will NOT cause the user to quit. */ - bool muted; + bool quitting; /** IPV4 or IPV6 ip address. Use SetSockAddr to set this and GetProtocolFamily/ * GetIPString/GetPort to obtain its values. @@ -886,7 +895,7 @@ class CoreExport User : public connection * This will also give the +o usermode. * @param opertype The oper type to oper as */ - void Oper(const std::string &opertype); + void Oper(const std::string &opertype, const std::string &opername); /** Call this method to find the matching for a user, and to check them against it. */ @@ -914,39 +923,11 @@ class CoreExport User : public connection */ bool ForceNickChange(const char* newnick); - /** Add a client to the system. - * This will create a new User, insert it into the user_hash, - * initialize it as not yet registered, and add it to the socket engine. - * @param Instance a pointer to the server instance - * @param socket The socket id (file descriptor) this user is on - * @param port The port number this user connected on - * @param iscached This variable is reserved for future use - * @param ip The IP address of the user - * @return This function has no return value, but a call to AddClient may remove the user. - */ - static void AddClient(InspIRCd* Instance, int socket, int port, bool iscached, int socketfamily, sockaddr* ip); - /** Oper down. * This will clear the +o usermode and unset the user's oper type */ void UnOper(); - /** Return the number of global clones of this user - * @return The global clone count of this user - */ - unsigned long GlobalCloneCount(); - - /** Return the number of local clones of this user - * @return The local clone count of this user - */ - unsigned long LocalCloneCount(); - - /** Remove all clone counts from the user, you should - * use this if you change the user's IP address in - * User::ip after they have registered. - */ - void RemoveCloneCounts(); - /** Write text to this user, appending CR/LF. * @param text A std::string to send to the user */