* +------------------------------------+
*
* InspIRCd: (C) 2002-2009 InspIRCd Development Team
- * See: http://www.inspircd.org/wiki/index.php/Credits
+ * See: http://wiki.inspircd.org/Credits
*
* This program is free but copyrighted software; see
* the file COPYING for details.
/** Holds all information about a user
* This class stores all information about a user connected to the irc server. Everything about a
* connection is stored here primarily, from the user's socket ID (file descriptor) through to the
- * user's nickname and hostname. Use the FindNick method of the InspIRCd class to locate a specific user
- * by nickname, or the FindDescriptor method of the InspIRCd class to find a specific user by their
- * file descriptor value.
+ * user's nickname and hostname.
*/
class CoreExport User : public EventHandler
{
private:
- /** Pointer to creator.
- * This is required to make use of core functions
- * from within the User class.
- */
- InspIRCd* ServerInstance;
-
/** A list of channels the user has a pending invite to.
* Upon INVITE channels are added, and upon JOIN, the
* channels are removed from this list.
std::bitset<64> AllowedChanModes;
public:
+ /** Pointer to creator.
+ * This is required to make use of core functions
+ * from within the User class.
+ */
+ InspIRCd* ServerInstance;
+
/** 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. :)
*/
* Use InspIRCd::IsNick() to validate nicknames.
*/
std::string nick;
-
+
/** The user's unique identifier.
* This is the unique identifier which the user has across the network.
*/
std::string uuid;
-
+
/** The users ident reply.
* Two characters are added to the user-defined limit to compensate for the tilde etc.
*/
std::string ident;
-
+
/** The host displayed to non-opers (used for cloaking etc).
* This usually matches the value of User::host.
*/
std::string dhost;
-
+
/** The users full name (GECOS).
*/
std::string fullname;
-
+
/** The user's mode list.
* NOT a null terminated string.
* Also NOT an array.
* If this string is empty, the user is not marked as away.
*/
std::string awaymsg;
-
+
/** Time the user last went away.
* This is ONLY RELIABLE if user IS_AWAY()!
*/
* The value of this is the value of a valid 'type name=' tag.
*/
std::string oper;
-
+
/** True when DNS lookups are completed.
* The UserResolver classes res_forward and res_reverse will
* set this value once they complete.
* modules may check it.
*/
std::string password;
-
+
/** User's receive queue.
* Lines from the IRCd awaiting processing are stored here.
* Upgraded april 2005, old system a bit hairy.
* on the server, in nick!ident&at;host form.
* @return The full masked host of the user
*/
- virtual const std::string& GetFullHost();
+ virtual const std::string GetFullHost();
/** Returns the full real host of the user
* This member function returns the hostname of the user as seen by other users
* e.g. through a module, then this method will ignore it and return the true hostname.
* @return The full real host of the user
*/
- virtual const std::string& GetFullRealHost();
+ virtual const std::string GetFullRealHost();
/** This clears any cached results that are used for GetFullRealHost() etc.
* The results of these calls are cached as generating them can be generally expensive.
//class ServerConfig;
#endif
-