/*
* InspIRCd -- Internet Relay Chat Daemon
*
+ * Copyright (C) 2019 Matt Schatz <genius3000@g3k.solutions>
+ * Copyright (C) 2012-2013, 2017-2018, 2020 Sadie Powell <sadie@witchery.services>
+ * Copyright (C) 2012, 2019 Robby <robby@chatbelgie.be>
* Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
- * Copyright (C) 2004-2007 Craig Edwards <craigedwards@brainbox.cc>
- * Copyright (C) 2007 Robin Burchell <robin+git@viroteck.net>
* Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
+ * Copyright (C) 2006-2008 Robin Burchell <robin+git@viroteck.net>
+ * Copyright (C) 2004, 2006-2008, 2010 Craig Edwards <brain@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
/** XLine is the base class for ban lines such as G-lines and K-lines.
* Modules may derive from this, and their xlines will automatically be
* handled as expected by any protocol modules (e.g. m_spanningtree will
- * propogate them using AddLine). The process of translating a type+pattern
+ * propagate them using AddLine). The process of translating a type+pattern
* to a known line type is done by means of an XLineFactory object (see
* below).
*/
*/
time_t set_time;
- /** The duration of the ban, or 0 if permenant
+ /** The duration of the ban, or 0 if permanent
*/
unsigned long duration;
*/
~XLineManager();
- /** Split an ident and host into two seperate strings.
+ /** Split an ident and host into two separate strings.
* This allows for faster matching.
*/
IdentHostPair IdentSplit(const std::string &ident_and_host);
*/
void ApplyLines();
- /** Handle /STATS for a given type.
- * NOTE: Any items in the list for this particular line type which have expired
- * will be expired and removed before the list is displayed.
- * @param type The type of stats to show
- * @param numeric The numeric to give to each result line
- * @param stats Stats context
+ /** DEPRECATED: use the `bool InvokeStats(const std::string&, Stats::Context&)` overload instead. */
+ DEPRECATED_METHOD(void InvokeStats(const std::string& type, unsigned int numeric, Stats::Context& stats));
+
+ /** Generates a /STATS response for the given X-line type.
+ * @param type The type of X-line to look up.
+ * @param context The stats context to respond with.
+ * @return True if a response was sent; otherwise, false.
*/
- void InvokeStats(const std::string& type, unsigned int numeric, Stats::Context& stats);
+ bool InvokeStats(const std::string& type, Stats::Context& context);
/** Expire X-lines which were added by the server configuration and have been removed. */
void ExpireRemovedConfigLines(const std::string& type, const insp::flat_set<std::string>& configlines);