+
+ return ServerInstance->HandleOnCheckExemption.Call(user, chan, restriction);
+ }
+};
+
+class ModuleExemptChanOps : public Module
+{
+ std::string defaults;
+ ExemptHandler eh;
+
+ public:
+ ModuleExemptChanOps() : eh(this)
+ {
+ }
+
+ void init() CXX11_OVERRIDE
+ {
+ ServerInstance->OnCheckExemption = &eh;
+ }
+
+ ~ModuleExemptChanOps()
+ {
+ ServerInstance->OnCheckExemption = &ServerInstance->HandleOnCheckExemption;
+ }
+
+ Version GetVersion() CXX11_OVERRIDE
+ {
+ return Version("Provides the ability to allow channel operators to be exempt from certain modes.",VF_VENDOR);
+ }
+
+ void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
+ {
+ eh.ec.DoRehash();