aboutsummaryrefslogtreecommitdiff
path: root/lib/urlfilter/formats/hostlistrule.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/urlfilter/formats/hostlistrule.cpp')
-rw-r--r--lib/urlfilter/formats/hostlistrule.cpp21
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;
+}
+