X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_filter.cpp;h=4942b7fb40dcdfb39f12011b0d194ba67ef41ff3;hb=9f477a1083574d01c78f12d95772ed122607a4ad;hp=97cc8af5f8ba43c77cad11c7cbc4d488d16bf604;hpb=6692d15462003157768a15c86192399b5b73e3c2;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_filter.cpp b/src/modules/m_filter.cpp index 97cc8af5f..4942b7fb4 100644 --- a/src/modules/m_filter.cpp +++ b/src/modules/m_filter.cpp @@ -66,7 +66,33 @@ class ModuleFilter : public FilterBase } return NULL; } - + + virtual bool DeleteFilter(const std::string &freeform) + { + if (filters.find(freeform) != filters.end()) + { + filters.erase(filters.find(freeform)); + return true; + } + return false; + } + + virtual std::pair AddFilter(const std::string &freeform, const std::string &type, const std::string &reason, long duration) + { + if (filters.find(freeform) != filters.end()) + { + return std::make_pair(false, "Filter already exists"); + } + + FilterResult* x = new FilterResult; + x->reason = reason; + x->action = type; + x->gline_time = duration; + filters[freeform] = x; + + return std::make_pair(true, ""); + } + virtual void OnRehash(const std::string ¶meter) { // this automatically re-reads the configuration file into the class