/*
* InspIRCd -- Internet Relay Chat Daemon
*
+ * Copyright (C) 2019 Matt Schatz <genius3000@g3k.solutions>
+ * Copyright (C) 2013, 2016 Attila Molnar <attilamolnar@hush.com>
+ * Copyright (C) 2012-2013, 2017-2018 Sadie Powell <sadie@witchery.services>
+ * Copyright (C) 2012, 2018-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-2008 Robin Burchell <robin+git@viroteck.net>
* Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
+ * Copyright (C) 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
/** Expire a line given two iterators which identify it in the main map.
* @param container Iterator to the first level of entries the map
* @param item Iterator to the second level of entries in the map
+ * @param silent If true, doesn't send an expiry SNOTICE.
*/
- void ExpireLine(ContainerIter container, LookupIter item);
+ void ExpireLine(ContainerIter container, LookupIter item, bool silent = false);
/** Apply any new lines that are pending to be applied.
* This will only apply lines in the pending_lines list, to save on
*/
void InvokeStats(const std::string& type, unsigned int numeric, Stats::Context& stats);
- /** Clears any XLines which were added by the server configuration. */
- void ClearConfigLines();
+ /** 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);
};