summaryrefslogtreecommitdiff
path: root/include/membership.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/membership.h')
-rw-r--r--include/membership.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/include/membership.h b/include/membership.h
index 436a9371c..78af85fde 100644
--- a/include/membership.h
+++ b/include/membership.h
@@ -17,8 +17,7 @@
*/
-#ifndef MEMBERSHIP_H
-#define MEMBERSHIP_H
+#pragma once
class CoreExport Membership : public Extensible
{
@@ -33,6 +32,16 @@ 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 CoreExport InviteBase
@@ -46,7 +55,7 @@ class CoreExport 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