]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/treesocket.h
Use irc::equals instead of strcasecmp where appropriate.
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / treesocket.h
index e8dbfd7cfe208d9ce3fe2d35791279f1ac240fd9..046f0eb0a3651c77afc89801773e0624ee5f0a59 100644 (file)
@@ -1,10 +1,15 @@
 /*
  * InspIRCd -- Internet Relay Chat Daemon
  *
+ *   Copyright (C) 2019 Matt Schatz <genius3000@g3k.solutions>
+ *   Copyright (C) 2013, 2017-2019 Sadie Powell <sadie@witchery.services>
+ *   Copyright (C) 2012-2015 Attila Molnar <attilamolnar@hush.com>
+ *   Copyright (C) 2012, 2019 Robby <robby@chatbelgie.be>
  *   Copyright (C) 2009-2010 Daniel De Graaf <danieldg@inspircd.org>
- *   Copyright (C) 2008 Robin Burchell <robin+git@viroteck.net>
+ *   Copyright (C) 2009 Uli Schlachter <psychon@inspircd.org>
+ *   Copyright (C) 2007-2008 Robin Burchell <robin+git@viroteck.net>
+ *   Copyright (C) 2007, 2010 Craig Edwards <brain@inspircd.org>
  *   Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
- *   Copyright (C) 2007 Craig Edwards <craigedwards@brainbox.cc>
  *
  * 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
@@ -95,7 +100,7 @@ class TreeSocket : public BufferedSocket
        ServerState LinkState;                  /* Link state */
        CapabData* capab;                       /* Link setup data (held until burst is sent) */
        TreeServer* MyRoot;                     /* The server we are talking to */
-       int proto_version;                      /* Remote protocol version */
+       unsigned int proto_version;                     /* Remote protocol version */
 
        /** True if we've sent our burst.
         * This only changes the behavior of message translation for 1202 protocol servers and it can be
@@ -164,7 +169,7 @@ class TreeSocket : public BufferedSocket
         * most of the action, and append a few of our own values
         * to it.
         */
-       TreeSocket(Link* link, Autoconnect* myac, const std::string& ipaddr);
+       TreeSocket(Link* link, Autoconnect* myac, const irc::sockets::sockaddrs& sa);
 
        /** When a listening socket gives us a new file descriptor,
         * we must associate it with a socket without creating a new
@@ -259,7 +264,7 @@ class TreeSocket : public BufferedSocket
         */
        void SendFJoins(Channel* c);
 
-       /** Send G, Q, Z and E lines */
+       /** Send G-, Q-, Z- and E-lines */
        void SendXLines();
 
        /** Send all known information about a channel */
@@ -294,13 +299,17 @@ class TreeSocket : public BufferedSocket
 
        /** Handle IRC line split
         */
-       void Split(const std::string &line, std::string& prefix, std::string& command, CommandBase::Params& params);
+       void Split(const std::string& line, std::string& tags, std::string& prefix, std::string& command, CommandBase::Params& params);
 
        /** Process complete line from buffer
         */
        void ProcessLine(std::string &line);
 
-       void ProcessConnectedLine(std::string& prefix, std::string& command, CommandBase::Params& params);
+       /** Process message tags received from a remote server. */
+       void ProcessTag(User* source, const std::string& tag, ClientProtocol::TagMap& tags);
+
+       /** Process a message for a fully connected server. */
+       void ProcessConnectedLine(std::string& tags, std::string& prefix, std::string& command, CommandBase::Params& params);
 
        /** Handle socket timeout from connect()
         */