| Index: compiled/RegExpFilter.h |
| =================================================================== |
| new file mode 100644 |
| --- /dev/null |
| +++ b/compiled/RegExpFilter.h |
| @@ -0,0 +1,35 @@ |
| +#ifndef ADBLOCK_PLUS_REG_EXP_FILTER_H |
| +#define ADBLOCK_PLUS_REG_EXP_FILTER_H |
| + |
| +#include <string> |
| + |
| +#include "Filter.h" |
| +#include "ActiveFilter.h" |
| + |
| +class RegExpFilter : public ActiveFilter |
| +{ |
| +private: |
| + enum TrippleState {YES, NO, ANY}; |
| + |
| + int regexpId; |
| + std::u16string regexpSource; |
| + int contentType; |
| + bool matchCase; |
| + TrippleState thirdParty; |
| + TrippleState collapse; |
| + void ProcessOption(const std::u16string& options, int optionStart, |
| + int optionEnd, int valueStart, int valueEnd); |
| +public: |
| + explicit RegExpFilter(const std::u16string& text, const std::u16string& pattern, |
| + const std::u16string& options); |
| + ~RegExpFilter(); |
| + static Filter* Create(const std::u16string& text); |
| + static void InitJSTypes(); |
| + static const std::u16string RegExpFromSource(const std::u16string& source); |
| + Type GetType() const; |
| + bool Matches(const std::u16string& location, int typeMask, |
| + const std::u16string& docDomain, bool thirdParty, |
| + const std::u16string& sitekey); |
| +}; |
| + |
| +#endif |