]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_ojoin.cpp
Tidy up keywords on module methods.
[user/henk/code/inspircd.git] / src / modules / m_ojoin.cpp
index 207be2bb5cd00a3bc0f90be59ff6447f3147f368..c99e24b0f953a98c9b953ab9c8df16acc30975f3 100644 (file)
@@ -45,28 +45,30 @@ bool op;
 
 /** Handle /OJOIN
  */
-class CommandOjoin : public Command
+class CommandOjoin : public SplitCommand
 {
  public:
        bool active;
-       CommandOjoin(Module* parent) : Command(parent,"OJOIN", 1)
+       CommandOjoin(Module* parent) :
+               SplitCommand(parent, "OJOIN", 1)
        {
                flags_needed = 'o'; Penalty = 0; syntax = "<channel>";
                active = false;
                TRANSLATE3(TR_NICK, TR_TEXT, TR_END);
        }
 
-       CmdResult Handle (const std::vector<std::string>& parameters, User *user)
+       CmdResult HandleLocal(const std::vector<std::string>& parameters, LocalUser* user)
        {
                // Make sure the channel name is allowable.
-               if (!ServerInstance->IsChannel(parameters[0].c_str(), ServerInstance->Config->Limits.ChanMax))
+               if (!ServerInstance->IsChannel(parameters[0], ServerInstance->Config->Limits.ChanMax))
                {
-                       user->WriteServ("NOTICE "+user->nick+" :*** Invalid characters in channel name or name too long");
+                       user->WriteNotice("*** Invalid characters in channel name or name too long");
                        return CMD_FAILURE;
                }
 
                active = true;
-               Channel* channel = Channel::JoinUser(user, parameters[0].c_str(), false, "", false);
+               // override is false because we want OnUserPreJoin to run
+               Channel* channel = Channel::JoinUser(user, parameters[0], false);
                active = false;
 
                if (channel)
@@ -116,7 +118,7 @@ class NetworkPrefix : public ModeHandler
                std::vector<std::string> mode_junk;
                mode_junk.push_back(channel->name);
                irc::modestacker modestack(false);
-               std::deque<std::string> stackresult;
+               std::vector<std::string> stackresult;
 
                for (UserMembCIter i = cl->begin(); i != cl->end(); i++)
                {
@@ -178,7 +180,7 @@ class ModuleOjoin : public Module
        {
        }
 
-       void init()
+       void init() CXX11_OVERRIDE
        {
                /* Load config stuff */
                OnRehash(NULL);
@@ -193,7 +195,7 @@ class ModuleOjoin : public Module
                ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
        }
 
-       ModResult OnUserPreJoin(User* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven)
+       ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven) CXX11_OVERRIDE
        {
                if (mycommand.active)
                {
@@ -206,7 +208,7 @@ class ModuleOjoin : public Module
                return MOD_RES_PASSTHRU;
        }
 
-       void OnRehash(User* user)
+       void OnRehash(User* user) CXX11_OVERRIDE
        {
                ConfigTag* Conf = ServerInstance->Config->ConfValue("ojoin");
 
@@ -224,7 +226,7 @@ class ModuleOjoin : public Module
                op = Conf->getBool("op", true);
        }
 
-       ModResult OnUserPreKick(User* source, Membership* memb, const std::string &reason)
+       ModResult OnUserPreKick(User* source, Membership* memb, const std::string &reason) CXX11_OVERRIDE
        {
                // Don't do anything if they're not +Y
                if (!memb->hasMode('Y'))
@@ -248,11 +250,10 @@ class ModuleOjoin : public Module
                ServerInstance->Modules->SetPriority(this, I_OnUserPreJoin, PRIORITY_FIRST);
        }
 
-       Version GetVersion()
+       Version GetVersion() CXX11_OVERRIDE
        {
                return Version("Network Business Join", VF_VENDOR);
        }
 };
 
 MODULE_INIT(ModuleOjoin)
-