summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/access.h1
-rw-r--r--include/modules.h9
-rw-r--r--include/users.h3
3 files changed, 10 insertions, 3 deletions
diff --git a/include/access.h b/include/access.h
index 69f8f4bc7..7caee6e5c 100644
--- a/include/access.h
+++ b/include/access.h
@@ -78,6 +78,7 @@ class CoreExport ChanAccess
class AccessGroup : public std::vector<ChanAccess *>
{
public:
+ bool SuperAdmin;
AccessGroup();
bool HasPriv(ChannelAccess priv) const;
ChanAccess *Highest() const;
diff --git a/include/modules.h b/include/modules.h
index baf437ff8..7fd477b32 100644
--- a/include/modules.h
+++ b/include/modules.h
@@ -741,6 +741,13 @@ class CoreExport Module : public Extensible
*/
virtual void OnFindChan(const Anope::string &chname) { }
+ /** Checks if access has the channel privilege 'priv'.
+ * @param access THe access struct
+ * @param priv The privilege being checked for
+ * @return EVENT_ALLOW for yes, EVENT_STOP to stop all processing
+ */
+ virtual EventReturn OnCheckPriv(ChanAccess *access, ChannelAccess priv) { return EVENT_CONTINUE; }
+
/** Called when a nick is dropped
* @param u The user dropping the nick
* @param na The nick
@@ -1025,7 +1032,7 @@ enum Implementation
I_OnChanForbidden, I_OnChanSuspend, I_OnChanDrop, I_OnPreChanExpire, I_OnChanExpire, I_OnAccessAdd,
I_OnAccessDel, I_OnAccessClear, I_OnLevelChange, I_OnChanRegistered, I_OnChanUnsuspend, I_OnDelChan, I_OnChannelCreate,
I_OnChannelDelete, I_OnAkickAdd, I_OnAkickDel, I_OnCheckKick,
- I_OnChanInfo, I_OnFindChan,
+ I_OnChanInfo, I_OnFindChan, I_OnCheckPriv,
/* BotServ */
I_OnBotJoin, I_OnBotKick, I_OnBotCreate, I_OnBotChange, I_OnBotDelete, I_OnBotAssign, I_OnBotUnAssign,
diff --git a/include/users.h b/include/users.h
index d6a0866ee..b02705bda 100644
--- a/include/users.h
+++ b/include/users.h
@@ -54,8 +54,7 @@ class CoreExport User : public Extensible
Server *server; /* Server user is connected to */
time_t timestamp; /* Timestamp of the nick */
time_t my_signon; /* When did _we_ see the user? */
-
- int isSuperAdmin; /* is SuperAdmin on or off? */
+ bool SuperAdmin; /* is SuperAdmin on or off? */
/* Channels the user is in */
UChannelList chans;