/*
* InspIRCd -- Internet Relay Chat Daemon
*
+ * Copyright (C) 2013, 2017-2019 Sadie Powell <sadie@witchery.services>
+ * Copyright (C) 2012-2016 Attila Molnar <attilamolnar@hush.com>
+ * Copyright (C) 2012 Robby <robby@chatbelgie.be>
* Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
* Copyright (C) 2008 Robin Burchell <robin+git@viroteck.net>
- * Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
- * Copyright (C) 2007 Craig Edwards <craigedwards@brainbox.cc>
+ * Copyright (C) 2007-2008, 2010 Craig Edwards <brain@inspircd.org>
+ * Copyright (C) 2007-2008 Dennis Friis <peavey@inspircd.org>
*
* 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
CacheRefreshTimer RefreshTimer;
public:
- typedef std::set<TreeSocket*> TreeSocketSet;
- typedef std::map<TreeSocket*, std::pair<std::string, int> > TimeoutList;
+ typedef std::set<TreeSocket*> TreeSocketSet;
+ typedef std::map<TreeSocket*, std::pair<std::string, unsigned int> > TimeoutList;
/** Creator module
*/
/** 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;
/* 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;
/** Ping frequency of server to server links
*/
- int PingFreq;
+ unsigned int PingFreq;
/** Initialise utility class
*/
/** 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
*/
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
*/
/** 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)