X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_spanningtree%2Ftreesocket.h;h=878b34ad7523496ff1185c1fb578108c7cde3756;hb=aafc03bdfc34c9426df44938403c92dbbbc0568e;hp=4887623c125f1e4aaff4f77a73f6305b152a06b0;hpb=4bb972550e79292c5571714103780d873f5e82aa;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_spanningtree/treesocket.h b/src/modules/m_spanningtree/treesocket.h index 4887623c1..878b34ad7 100644 --- a/src/modules/m_spanningtree/treesocket.h +++ b/src/modules/m_spanningtree/treesocket.h @@ -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 @@ -200,7 +200,7 @@ class TreeSocket : public BufferedSocket */ void CleanNegotiationInfo(); - CullResult cull(); + CullResult cull() CXX11_OVERRIDE; /** Destructor */ ~TreeSocket(); @@ -216,7 +216,7 @@ class TreeSocket : public BufferedSocket * to server docs on the inspircd.org site, the other side * will then send back its own server string. */ - void OnConnected(); + void OnConnected() CXX11_OVERRIDE; /** Handle socket error event */ @@ -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 ¶ms); + 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 @@ -270,41 +275,45 @@ class TreeSocket : public BufferedSocket /** This function is called when we receive data from a remote * server. */ - void OnDataReady(); + void OnDataReady() CXX11_OVERRIDE; /** Send one or more complete lines down the socket */ void WriteLine(const std::string& line); /** Handle ERROR command */ - void Error(parameterlist ¶ms); + void Error(CommandBase::Params& params); /** (local) -> SERVER */ - bool Outbound_Reply_Server(parameterlist ¶ms); + bool Outbound_Reply_Server(CommandBase::Params& params); /** (local) <- SERVER */ - bool Inbound_Server(parameterlist ¶ms); + bool Inbound_Server(CommandBase::Params& params); /** Handle IRC line split */ - void Split(const std::string &line, std::string& prefix, std::string& command, parameterlist ¶ms); + 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() */ - void OnTimeout(); + void OnTimeout() CXX11_OVERRIDE; /** Handle server quit on close */ - void Close(); + void Close() CXX11_OVERRIDE; /** Fixes messages coming from old servers so the new command handlers understand them */ - bool PreProcessOldProtocolMessage(User*& who, std::string& cmd, std::vector& params); + bool PreProcessOldProtocolMessage(User*& who, std::string& cmd, CommandBase::Params& params); };