]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/users.h
irc::tokenstream is a token parser which using std::string and std::vector builds...
[user/henk/code/inspircd.git] / include / users.h
index 30e524e8559d13f0e115aece301f1cdcb815bca3..30fa937fb1792dae9b5bdebae1eb0352fee5928f 100644 (file)
@@ -45,7 +45,7 @@ enum ClassTypes {
 
 /** RFC1459 channel modes
  *  */
-enum ChannelModes {
+enum UserModes {
        UM_SERVERNOTICE = 's'-65,
        UM_WALLOPS = 'w'-65,
        UM_INVISIBLE = 'i'-65,
@@ -170,6 +170,11 @@ class userrec : public connection
         */
        char modes[64];
 
+       /** What snomasks are set on this user.
+        * This functions the same as the above modes.
+        */
+       char snomasks[64];
+
        UserChanList chans;
        
        /** The server the user is connected to.
@@ -263,6 +268,26 @@ class userrec : public connection
         * e.g. through a module, then this method will ignore it and return the true hostname.
         */
        virtual char* GetFullRealHost();
+
+       /*
+        * Create a displayable mode string for this users umodes
+        */
+       const char* FormatNoticeMasks();
+
+       bool userrec::ProcessNoticeMasks(const char *sm);
+
+       bool IsNoticeMaskSet(unsigned char sm);
+
+       void SetNoticeMask(unsigned char sm, bool value);
+
+       /*
+        * Create a displayable mode string for this users umodes
+        */
+       const char* FormatModes();
+
+       bool IsModeSet(unsigned char m);
+
+       void SetMode(unsigned char m, bool value);
        
        /** Returns true if a user is invited to a channel.
         */
@@ -373,7 +398,7 @@ class userrec : public connection
 
 /** Used to hold WHOWAS information
  */
-class WhoWasGroup
+class WhoWasGroup : public classbase
 {
  public:
        char* host;