X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_spanningtree%2Futils.h;h=bb189cb5ea15bbae40bf5e034cda9098eaf808fd;hb=a9e8e1f03ace24e9dcb50299f8e66c5fd6b42850;hp=5aa8e925ec743eac983a1337fbcb0e9e11a551d7;hpb=06bc8df45045a3d1fdc45f793abf7ba72b7403b1;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_spanningtree/utils.h b/src/modules/m_spanningtree/utils.h index 5aa8e925e..bb189cb5e 100644 --- a/src/modules/m_spanningtree/utils.h +++ b/src/modules/m_spanningtree/utils.h @@ -48,7 +48,7 @@ class SpanningTreeUtilities : public classbase public: typedef std::set TreeSocketSet; - typedef std::map > TimeoutList; + typedef std::map > TimeoutList; /** Creator module */ @@ -57,6 +57,11 @@ class SpanningTreeUtilities : public classbase /** Flatten links and /MAP for non-opers */ bool FlatLinks; + + /** True if we're going to hide netsplits as *.net *.split for non-opers + */ + bool HideSplits; + /** Hide U-Lined servers in /MAP and /LINKS */ bool HideULines; @@ -75,7 +80,7 @@ class SpanningTreeUtilities : public classbase /* Number of seconds that a server can go without ping * before opers are warned of high latency. */ - int PingWarnTime; + unsigned int PingWarnTime; /** This variable represents the root of the server tree */ TreeServer *TreeRoot; @@ -100,7 +105,7 @@ class SpanningTreeUtilities : public classbase /** Ping frequency of server to server links */ - int PingFreq; + unsigned int PingFreq; /** Initialise utility class */ @@ -108,17 +113,16 @@ class SpanningTreeUtilities : public classbase /** Prepare for class destruction */ - CullResult cull(); + CullResult cull() CXX11_OVERRIDE; /** Destroy class and free listeners etc */ ~SpanningTreeUtilities(); - void RouteCommand(TreeServer* origin, CommandBase* cmd, const parameterlist& parameters, User* user); + void RouteCommand(TreeServer* origin, CommandBase* cmd, const CommandBase::Params& parameters, User* user); /** Send a message from this server to one other local or remote */ - bool DoOneToOne(const CmdBuilder& params, const std::string& target); void DoOneToOne(const CmdBuilder& params, Server* target); /** Send a message from this server to all but one other, local or remote @@ -135,7 +139,7 @@ class SpanningTreeUtilities : public classbase /** Handle nick collision */ - bool DoCollision(User* u, TreeServer* server, time_t remotets, const std::string& remoteident, const std::string& remoteip, const std::string& remoteuid); + bool DoCollision(User* u, TreeServer* server, time_t remotets, const std::string& remoteident, const std::string& remoteip, const std::string& remoteuid, const char* collidecmd); /** Compile a list of servers which contain members of channel c */ @@ -149,9 +153,10 @@ class SpanningTreeUtilities : public classbase */ TreeServer* FindServerID(const std::string &id); - /** Find a route to a server by name + /** Find a server based on a target string. + * @param target Target string where a command should be routed to. May be a server name, a sid, a nickname or a uuid. */ - TreeServer* BestRouteTo(const std::string &ServerName); + TreeServer* FindRouteTarget(const std::string& target); /** Find a server by glob mask */ @@ -167,7 +172,7 @@ class SpanningTreeUtilities : public classbase /** Sends a PRIVMSG or a NOTICE to a channel obeying an exempt list and an optional prefix */ - void SendChannelMessage(const std::string& prefix, Channel* target, const std::string& text, char status, const CUList& exempt_list, const char* message_type, TreeSocket* omit = NULL); + void SendChannelMessage(User* source, Channel* target, const std::string& text, char status, const ClientProtocol::TagMap& tags, const CUList& exempt_list, const char* message_type, TreeSocket* omit = NULL); }; inline void SpanningTreeUtilities::DoOneToMany(const CmdBuilder& params)