X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fusers.h;h=2fbbf31b6ca3df298c2ecb4654645f4f9a1939c1;hb=60d92db9a1b71bbfd4230c5eb9f04cd6a87a41d8;hp=fc31a8297448a546b6e5aa57e0a0771fac1ad40d;hpb=b841e4bb855f43533601171fb405c74f04b4ea71;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/users.h b/include/users.h index fc31a8297..2fbbf31b6 100644 --- a/include/users.h +++ b/include/users.h @@ -418,22 +418,24 @@ class CoreExport User : public Extensible */ bool IsNoticeMaskSet(unsigned char sm); - /** Create a displayable mode string for this users umodes - * @param showparameters The mode string + /** Get the mode letters of modes set on the user as a string. + * @param includeparams True to get the parameters of the modes as well. Defaults to false. + * @return Mode letters of modes set on the user and optionally the parameters of those modes, if any. + * The returned string always begins with a '+' character. If the user has no modes set, "+" is returned. */ - const char* FormatModes(bool showparameters = false); + std::string GetModeLetters(bool includeparams = false) const; /** Returns true if a specific mode is set * @param m The user mode * @return True if the mode is set */ - bool IsModeSet(unsigned char m); - bool IsModeSet(ModeHandler* mh); - bool IsModeSet(ModeHandler& mh) { return IsModeSet(&mh); } - bool IsModeSet(UserModeReference& moderef); + bool IsModeSet(unsigned char m) const; + bool IsModeSet(const ModeHandler* mh) const; + bool IsModeSet(const ModeHandler& mh) const { return IsModeSet(&mh); } + bool IsModeSet(UserModeReference& moderef) const; /** Set a specific usermode to on or off - * @param m The user mode + * @param mh The user mode * @param value On or off setting of the mode */ void SetMode(ModeHandler* mh, bool value); @@ -703,6 +705,7 @@ class CoreExport User : public Extensible /** Change a user's nick * @param newnick The new nick. If equal to the users uuid, the nick change always succeeds. + * @param newts The time at which this nick change happened. * @return True if the change succeeded */ bool ChangeNick(const std::string& newnick, time_t newts = 0); @@ -715,7 +718,7 @@ class CoreExport User : public Extensible /** Default destructor */ virtual ~User(); - virtual CullResult cull(); + virtual CullResult cull() CXX11_OVERRIDE; }; class CoreExport UserIOHandler : public StreamSocket @@ -740,7 +743,7 @@ class CoreExport LocalUser : public User, public insp::intrusive_list_nodeusertype == USERTYPE_SERVER ? static_cast(u) : NULL; } -inline bool User::IsModeSet(ModeHandler* mh) +inline bool User::IsModeSet(const ModeHandler* mh) const { return (modes[mh->GetId()]); } -inline bool User::IsModeSet(UserModeReference& moderef) +inline bool User::IsModeSet(UserModeReference& moderef) const { if (!moderef) return false;