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 |