From 8f0b1082d8eb9927ab2fdb8e00328df69d198c9a Mon Sep 17 00:00:00 2001 From: w00t Date: Sat, 12 Jul 2008 10:53:31 +0000 Subject: Add XLineManager::DelAll to delete all lines of a given type. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9975 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/xline.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src') diff --git a/src/xline.cpp b/src/xline.cpp index 5d5a95516..0878ec286 100644 --- a/src/xline.cpp +++ b/src/xline.cpp @@ -116,6 +116,22 @@ XLineLookup* XLineManager::GetAll(const std::string &type) return &(n->second); } +void XLineManager::DelAll(const std::string &type) +{ + ContainerIter n = lookup_lines.find(type); + + if (n == lookup_lines.end()) + return; + + LookupIter x; + + /* Delete all of a given type (this should probably use DelLine, but oh well) */ + while ((x = n->second.begin()) != n->second.end()) + { + ExpireLine(n, x); + } +} + std::vector XLineManager::GetAllTypes() { std::vector items; -- cgit v1.2.3