TelegramSearch/src/textfilter.h

35 lines
911 B
C
Raw Normal View History

2021-04-11 01:47:55 +02:00
#pragma once
#include <string>
#include <regex>
#include "filter.h"
struct TextFilter : public Filter {
virtual void setup(std::ostream& o, std::istream& str) override;
virtual bool filter(const Message& m) const override;
protected:
2021-04-11 15:25:34 +02:00
virtual bool match(const std::string& input) const;
2021-04-11 01:47:55 +02:00
std::string text;
};
struct RegexFilter : public Filter {
virtual void setup(std::ostream& o, std::istream& str) override;
virtual bool filter(const Message& m) const override;
protected:
2021-04-11 15:25:34 +02:00
virtual bool match(const std::string& input) const;
2021-04-11 01:47:55 +02:00
std::regex pattern;
2021-04-11 15:25:34 +02:00
};
struct FilenameFilter : public TextFilter {
//virtual void setup(std::ostream& o, std::istream& str) override;
virtual bool filter(const Message& m) const override;
};
struct RegexFilenameFilter : public RegexFilter {
//virtual void setup(std::ostream& o, std::istream& str) override;
virtual bool filter(const Message& m) const override;
2021-04-11 01:47:55 +02:00
};