From c770c47e18121e93bcdd06b1ab5f161440ffcfe2 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 31 Jul 2010 21:37:45 -0400 Subject: Don't dynamically allocate commands in modules anymore, instead made them members of modules. This means the commands are automatically destructed when the module is unloaded. Cleans up some old ugly code. --- modules/core/cs_set_private.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'modules/core/cs_set_private.cpp') diff --git a/modules/core/cs_set_private.cpp b/modules/core/cs_set_private.cpp index 7d1cd0d82..68ed17fa5 100644 --- a/modules/core/cs_set_private.cpp +++ b/modules/core/cs_set_private.cpp @@ -16,7 +16,7 @@ class CommandCSSetPrivate : public Command { public: - CommandCSSetPrivate(const Anope::string &cname, const Anope::string &cpermission = "") : Command(cname, 2, 2, cpermission) + CommandCSSetPrivate(const Anope::string &cpermission = "") : Command("PRIVATE", 2, 2, cpermission) { } @@ -62,7 +62,7 @@ class CommandCSSetPrivate : public Command class CommandCSSASetPrivate : public CommandCSSetPrivate { public: - CommandCSSASetPrivate(const Anope::string &cname) : CommandCSSetPrivate(cname, "chanserv/saset/private") + CommandCSSASetPrivate() : CommandCSSetPrivate("chanserv/saset/private") { } @@ -80,6 +80,9 @@ class CommandCSSASetPrivate : public CommandCSSetPrivate class CSSetPrivate : public Module { + CommandCSSetPrivate commandcssetprivate; + CommandCSSASetPrivate commandcssasetprivate; + public: CSSetPrivate(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator) { @@ -88,22 +91,22 @@ class CSSetPrivate : public Module Command *c = FindCommand(ChanServ, "SET"); if (c) - c->AddSubcommand(new CommandCSSetPrivate("PRIVATE")); + c->AddSubcommand(&commandcssetprivate); c = FindCommand(ChanServ, "SASET"); if (c) - c->AddSubcommand(new CommandCSSASetPrivate("PRIVATE")); + c->AddSubcommand(&commandcssasetprivate); } ~CSSetPrivate() { Command *c = FindCommand(ChanServ, "SET"); if (c) - c->DelSubcommand("PRIVATE"); + c->DelSubcommand(&commandcssetprivate); c = FindCommand(ChanServ, "SASET"); if (c) - c->DelSubcommand("PRIVATE"); + c->DelSubcommand(&commandcssasetprivate); } }; -- cgit