aboutsummaryrefslogtreecommitdiff
path: root/launcher/pathmatcher/MultiMatcher.h
blob: 1015958091887fa30747cb759fd30206442370b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <SeparatorPrefixTree.h>
#include <QRegularExpression>
#include "IPathMatcher.h"

class MultiMatcher : public IPathMatcher {
   public:
    virtual ~MultiMatcher(){};
    MultiMatcher() {}
    MultiMatcher& add(Ptr add)
    {
        m_matchers.append(add);
        return *this;
    }

    virtual bool matches(const QString& string) const override
    {
        for (auto iter : m_matchers) {
            if (iter->matches(string)) {
                return true;
            }
        }
        return false;
    }

    QList<Ptr> m_matchers;
};