aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2022-10-23 00:44:57 +0200
committerSefa Eyeoglu <contact@scrumplex.net>2022-11-12 20:28:30 +0100
commitbd7065eece443de59adbe47dd7d9bd16e1d35ff5 (patch)
treeaefc5516365cfdaf4258ba0df3494b2002bf1561
parent15aaff7c1ce8d709c444d891bf640ee39494d10e (diff)
downloadPrismLauncher-bd7065eece443de59adbe47dd7d9bd16e1d35ff5.tar.gz
PrismLauncher-bd7065eece443de59adbe47dd7d9bd16e1d35ff5.tar.bz2
PrismLauncher-bd7065eece443de59adbe47dd7d9bd16e1d35ff5.zip
feat: add SimplePrefixMatcher
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
-rw-r--r--launcher/CMakeLists.txt1
-rw-r--r--launcher/pathmatcher/SimplePrefixMatcher.h21
2 files changed, 22 insertions, 0 deletions
diff --git a/launcher/CMakeLists.txt b/launcher/CMakeLists.txt
index 8db93429..45d197ef 100644
--- a/launcher/CMakeLists.txt
+++ b/launcher/CMakeLists.txt
@@ -97,6 +97,7 @@ set(PATHMATCHER_SOURCES
pathmatcher/IPathMatcher.h
pathmatcher/MultiMatcher.h
pathmatcher/RegexpMatcher.h
+ pathmatcher/SimplePrefixMatcher.h
)
set(NET_SOURCES
diff --git a/launcher/pathmatcher/SimplePrefixMatcher.h b/launcher/pathmatcher/SimplePrefixMatcher.h
new file mode 100644
index 00000000..191d010c
--- /dev/null
+++ b/launcher/pathmatcher/SimplePrefixMatcher.h
@@ -0,0 +1,21 @@
+#include <QRegularExpression>
+#include "IPathMatcher.h"
+
+class SimplePrefixMatcher : public IPathMatcher {
+ public:
+ virtual ~SimplePrefixMatcher(){};
+ SimplePrefixMatcher(const QString& prefix)
+ {
+ m_prefix = prefix;
+ m_isPrefix = prefix.endsWith('/');
+ }
+
+ virtual bool matches(const QString& string) const override
+ {
+ if (m_isPrefix)
+ return string.startsWith(m_prefix);
+ return string == m_prefix;
+ }
+ QString m_prefix;
+ bool m_isPrefix = false;
+};