]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/rconnect.cpp
Merge pull request #193 from attilamolnar/insp20+newlinefix
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / rconnect.cpp
index 3e084dc19bf6fc314e7209f283c4680ade131e26..d4254cac67f951a3cb20e1551a5f206a2c38437d 100644 (file)
@@ -1,22 +1,26 @@
-/*       +------------------------------------+
- *       | Inspire Internet Relay Chat Daemon |
- *       +------------------------------------+
+/*
+ * InspIRCd -- Internet Relay Chat Daemon
  *
- *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
- * See: http://wiki.inspircd.org/Credits
+ *   Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
+ *   Copyright (C) 2007 Craig Edwards <craigedwards@brainbox.cc>
  *
- * This program is free but copyrighted software; see
- *            the file COPYING for details.
+ * This file is part of InspIRCd.  InspIRCd is free software: you can
+ * redistribute it and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation, version 2.
  *
- * ---------------------------------------------------
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+
 #include "inspircd.h"
-#include "commands/cmd_whois.h"
-#include "commands/cmd_stats.h"
 #include "socket.h"
 #include "xline.h"
-#include "../transport.h"
 
 #include "resolvers.h"
 #include "main.h"
 #include "treeserver.h"
 #include "link.h"
 #include "treesocket.h"
-#include "rconnect.h"
-
-/* $ModDep: m_spanningtree/resolvers.h m_spanningtree/main.h m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/link.h m_spanningtree/treesocket.h m_spanningtree/rconnect.h */
+#include "commands.h"
 
-CommandRConnect::CommandRConnect (InspIRCd* Instance, Module* Creator, SpanningTreeUtilities* Util)
-       : Command(Instance, Creator, "RCONNECT", "o", 2), Utils(Util)
+CommandRConnect::CommandRConnect (Module* Creator, SpanningTreeUtilities* Util)
+       : Command(Creator, "RCONNECT", 2), Utils(Util)
 {
+       flags_needed = 'o';
        syntax = "<remote-server-mask> <target-server-mask>";
 }
 
@@ -53,10 +56,12 @@ CmdResult CommandRConnect::Handle (const std::vector<std::string>& parameters, U
                ServerInstance->SNO->WriteToSnoMask('l',"Remote CONNECT from %s matching \002%s\002, connecting server \002%s\002",user->nick.c_str(),parameters[0].c_str(),parameters[1].c_str());
                std::vector<std::string> para;
                para.push_back(parameters[1]);
-               std::string cmd("CONNECT");
-               std::string original_command = cmd + " " + parameters[1];
-               creator->OnPreCommand(cmd, para, user, true, original_command);
+               ((ModuleSpanningTree*)(Module*)creator)->HandleConnect(para, user);
        }
        return CMD_SUCCESS;
 }
 
+RouteDescriptor CommandRConnect::GetRouting(User* user, const std::vector<std::string>& parameters)
+{
+       return ROUTE_UNICAST(parameters[0]);
+}