]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/membership.h
Make various self contained methods static.
[user/henk/code/inspircd.git] / include / membership.h
index 340f92a12728692ac4c22102af8307b488b36604..78af85fde09f8af76ba8d09f27b926438c7eaa58 100644 (file)
@@ -17,8 +17,7 @@
  */
 
 
-#ifndef MEMBERSHIP_H
-#define MEMBERSHIP_H
+#pragma once
 
 class CoreExport Membership : public Extensible
 {
@@ -33,9 +32,19 @@ class CoreExport Membership : public Extensible
                return modes.find(m) != std::string::npos;
        }
        unsigned int getRank();
+
+       /** Add a prefix character to a user.
+        * Only the core should call this method, usually from
+        * within the mode parser or when the first user joins
+        * the channel (to grant the default privs to them)
+        * @param mh The mode handler of the prefix mode to associate
+        * @param adding True if adding the prefix, false when removing
+        * @return True if a change was made
+        */
+       bool SetPrefix(PrefixMode* mh, bool adding);
 };
 
-class InviteBase
+class CoreExport InviteBase
 {
  protected:
        InviteList invites;
@@ -46,7 +55,7 @@ class InviteBase
        friend class Invitation;
 };
 
-class Invitation : public classbase
+class CoreExport Invitation : public classbase
 {
        Invitation(Channel* c, LocalUser* u, time_t timeout) : user(u), chan(c), expiry(timeout) {}
 
@@ -59,5 +68,3 @@ class Invitation : public classbase
        static void Create(Channel* c, LocalUser* u, time_t timeout);
        static Invitation* Find(Channel* c, LocalUser* u, bool check_expired = true);
 };
-
-#endif