summaryrefslogtreecommitdiff
path: root/include/modules
diff options
context:
space:
mode:
authorPeter Powell <petpow@saberuk.com>2017-10-21 16:34:48 +0100
committerPeter Powell <petpow@saberuk.com>2017-10-21 16:34:48 +0100
commitdcd3438011d59aa4de4df64abf06bca1cbf36859 (patch)
tree86d9da14ef7258831b25d8aac70383d2964d3a9f /include/modules
parent9f7c187c518466114cb3e3b51979d2c63c2ce7a0 (diff)
Add a helper function for calling the OnCheckExemption event.
Diffstat (limited to 'include/modules')
-rw-r--r--include/modules/exemption.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/modules/exemption.h b/include/modules/exemption.h
index 2f4ee02fc..b590a5797 100644
--- a/include/modules/exemption.h
+++ b/include/modules/exemption.h
@@ -25,6 +25,16 @@ namespace CheckExemption
{
class EventListener;
class EventProvider;
+
+ /** Helper function for calling the CheckExemption::EventListener::OnCheckExemption event.
+ * @param prov The CheckExemption::EventProvider which is calling the event.
+ * @param user The user to check exemption for.
+ * @param chan The channel to check exemption on.
+ * @param restriction The restriction to check for.
+ * @return Either MOD_RES_ALLOW if the exemption was confirmed, MOD_RES_DENY if the exemption was
+ * denied or MOD_RES_PASSTHRU if no module handled the event.
+ */
+ inline ModResult Call(const CheckExemption::EventProvider& prov, User* user, Channel* chan, const std::string& restriction);
}
class CheckExemption::EventListener
@@ -56,3 +66,10 @@ class CheckExemption::EventProvider
{
}
};
+
+inline ModResult CheckExemption::Call(const CheckExemption::EventProvider& prov, User* user, Channel* chan, const std::string& restriction)
+{
+ ModResult result;
+ FIRST_MOD_RESULT_CUSTOM(prov, CheckExemption::EventListener, OnCheckExemption, result, (user, chan, restriction));
+ return result;
+}