summaryrefslogtreecommitdiff
path: root/modules/core/cs_xop.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/core/cs_xop.cpp')
-rw-r--r--modules/core/cs_xop.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/modules/core/cs_xop.cpp b/modules/core/cs_xop.cpp
index ca11c74fe..b9b271ea3 100644
--- a/modules/core/cs_xop.cpp
+++ b/modules/core/cs_xop.cpp
@@ -626,15 +626,21 @@ class CommandCSVOP : public XOPBase
class CSXOP : public Module
{
+ CommandCSQOP commandcsqop;
+ CommandCSSOP commandcssop;
+ CommandCSAOP commandcsaop;
+ CommandCSHOP commandcshop;
+ CommandCSVOP commandcsvop;
+
public:
CSXOP(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator)
{
this->SetAuthor("Anope");
this->SetType(CORE);
- this->AddCommand(ChanServ, new CommandCSSOP());
- this->AddCommand(ChanServ, new CommandCSAOP());
- this->AddCommand(ChanServ, new CommandCSVOP());
+ this->AddCommand(ChanServ, &commandcssop);
+ this->AddCommand(ChanServ, &commandcsaop);
+ this->AddCommand(ChanServ, &commandcsvop);
if (Me && Me->IsSynced())
OnUplinkSync(NULL);
@@ -646,15 +652,15 @@ class CSXOP : public Module
void OnUplinkSync(Server *)
{
if (ModeManager::FindChannelModeByName(CMODE_OWNER))
- this->AddCommand(ChanServ, new CommandCSQOP());
+ this->AddCommand(ChanServ, &commandcsqop);
if (ModeManager::FindChannelModeByName(CMODE_HALFOP))
- this->AddCommand(ChanServ, new CommandCSHOP());
+ this->AddCommand(ChanServ, &commandcshop);
}
void OnServerDisconnect()
{
- this->DelCommand(ChanServ, FindCommand(ChanServ, "QOP"));
- this->DelCommand(ChanServ, FindCommand(ChanServ, "HOP"));
+ this->DelCommand(ChanServ, &commandcsqop);
+ this->DelCommand(ChanServ, &commandcshop);
}
};