/** 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. :)
*/
* 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.