diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-10-16 17:25:40 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-10-16 17:25:40 +0200 |
commit | c74367d82c1c7bec393548d2e5014c794333822f (patch) | |
tree | 909bcde935c84e566db528b1ab25d81778e13036 /lib/urlfilter/formats/hostlistrule.cpp | |
parent | Add workaround for QTBUG-62511 (diff) | |
download | smolbote-c74367d82c1c7bec393548d2e5014c794333822f.tar.xz |
urlfilter: Add FilterTree class
FilterTree is a class that holds filter rules, sorted by the domain they
are to be applied on. The rules are to follow FilterLeaf as interface.
- Add a hostlist rule format to FilterTree.
- Add a test for hostlist format.
Diffstat (limited to 'lib/urlfilter/formats/hostlistrule.cpp')
-rw-r--r-- | lib/urlfilter/formats/hostlistrule.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/urlfilter/formats/hostlistrule.cpp b/lib/urlfilter/formats/hostlistrule.cpp new file mode 100644 index 0000000..1df6b3e --- /dev/null +++ b/lib/urlfilter/formats/hostlistrule.cpp @@ -0,0 +1,21 @@ +#include "hostlistrule.h" + +HostlistRule::HostlistRule(const QString &domain, const QString& redirect) +{ + this->m_isBlocking = (redirect == QLatin1Literal("0.0.0.0")); + this->m_request = domain.toStdString(); + this->m_redirect = redirect.toStdString(); +} + +bool HostlistRule::match(const QString& requestUrl) const +{ + return (m_request == requestUrl.toStdString()); +} + +FilterLeaf::Action HostlistRule::action() const +{ + if(m_isBlocking) + return FilterLeaf::Block; + return FilterLeaf::Redirect; +} + |