]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/treesocket.h
Improve X-line text consistency.
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / treesocket.h
index 3571f28169c107a5f1cdf32eb82a1375add35824..6206448c159472014d20f920caedcacdcd288e33 100644 (file)
@@ -95,7 +95,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
@@ -149,7 +149,7 @@ class TreeSocket : public BufferedSocket
         * @param params Parameters they sent in the SERVER command
         * @return Link block for the remote server, or NULL if an error occurred
         */
-       Link* AuthRemote(const parameterlist& params);
+       Link* AuthRemote(const CommandBase::Params& params);
 
        /** Write a line on this socket with a new line character appended, skipping all translation for old protocols
         * @param line Line to write without a new line character at the end
@@ -238,6 +238,11 @@ class TreeSocket : public BufferedSocket
         */
        std::string MyModules(int filter);
 
+       /** Returns mode list as a string, filtered by type.
+        * @param type The type of modes to return.
+        */
+       std::string BuildModeList(ModeType type);
+
        /** Send my capabilities to the remote side
         */
        void SendCapabilities(int phase);
@@ -246,7 +251,7 @@ class TreeSocket : public BufferedSocket
        void ListDifference(const std::string &one, const std::string &two, char sep,
                std::string& mleft, std::string& mright);
 
-       bool Capab(const parameterlist &params);
+       bool Capab(const CommandBase::Params& params);
 
        /** Send one or more FJOINs for a channel of users.
         * If the length of a single line is more than 480-NICKMAX
@@ -254,7 +259,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 */
@@ -277,25 +282,29 @@ class TreeSocket : public BufferedSocket
        void WriteLine(const std::string& line);
 
        /** Handle ERROR command */
-       void Error(parameterlist &params);
+       void Error(CommandBase::Params& params);
 
        /** (local) -> SERVER
         */
-       bool Outbound_Reply_Server(parameterlist &params);
+       bool Outbound_Reply_Server(CommandBase::Params& params);
 
        /** (local) <- SERVER
         */
-       bool Inbound_Server(parameterlist &params);
+       bool Inbound_Server(CommandBase::Params& params);
 
        /** Handle IRC line split
         */
-       void Split(const std::string &line, std::string& prefix, std::string& command, parameterlist &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, parameterlist& 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()
         */
@@ -306,5 +315,5 @@ class TreeSocket : public BufferedSocket
 
        /** Fixes messages coming from old servers so the new command handlers understand them
         */
-       bool PreProcessOldProtocolMessage(User*& who, std::string& cmd, std::vector<std::string>& params);
+       bool PreProcessOldProtocolMessage(User*& who, std::string& cmd, CommandBase::Params& params);
 };