| Index: compiled/ActiveFilter.h | 
| =================================================================== | 
| new file mode 100644 | 
| --- /dev/null | 
| +++ b/compiled/ActiveFilter.h | 
| @@ -0,0 +1,58 @@ | 
| +#ifndef ADBLOCK_PLUS_ACTIVE_FILTER_H | 
| +#define ADBLOCK_PLUS_ACTIVE_FILTER_H | 
| + | 
| +#include <emscripten.h> | 
| + | 
| +#include "Filter.h" | 
| +#include "StringMap.h" | 
| + | 
| +#define FILTER_PROPERTY(type, name, getter, setter) \ | 
| + private:\ | 
| + type name;\ | 
| + public:\ | 
| + type EMSCRIPTEN_KEEPALIVE getter() const\ | 
| + {\ | 
| + return name;\ | 
| + }\ | 
| + void EMSCRIPTEN_KEEPALIVE setter(type value)\ | 
| + {\ | 
| + if (name != value)\ | 
| + {\ | 
| + type oldvalue = name;\ | 
| + name = value;\ | 
| + String action(u"filter."_str #name);\ | 
| + EM_ASM_ARGS({\ | 
| + var filter = new (exports[Filter_mapping[$2]])($1);\ | 
| + FilterNotifier.triggerListeners(getStringData($0), filter, $3, $4);\ | 
| + }, &action, this, GetType(), value, oldvalue);\ | 
| + }\ | 
| + } | 
| + | 
| +class ActiveFilter : public Filter | 
| +{ | 
| +protected: | 
| + typedef StringMap<bool> DomainMap; | 
| + typedef StringSet SitekeySet; | 
| + static void ToLower(String& str, String::size_type start, | 
| + String::size_type end); | 
| + void ParseDomains(const String& domains, char16_t separator) const; | 
| + void AddSitekey(const String& sitekey) const; | 
| + virtual DomainMap* GetDomains() const; | 
| + virtual SitekeySet* GetSitekeys() const; | 
| + mutable std::unique_ptr<DomainMap> mDomains; | 
| + mutable std::unique_ptr<SitekeySet> mSitekeys; | 
| +private: | 
| + bool mIgnoreTrailingDot; | 
| +public: | 
| + ActiveFilter(const String& text, bool ignoreTrailingDot); | 
| + FILTER_PROPERTY(bool, mDisabled, GetDisabled, SetDisabled); | 
| + FILTER_PROPERTY(unsigned int, mHitCount, GetHitCount, SetHitCount); | 
| + FILTER_PROPERTY(unsigned int, mLastHit, GetLastHit, SetLastHit); | 
| + bool EMSCRIPTEN_KEEPALIVE IsActiveOnDomain(String& docDomain, | 
| + const String& sitekey) const; | 
| + bool EMSCRIPTEN_KEEPALIVE IsActiveOnlyOnDomain(String& docDomain) const; | 
| + bool EMSCRIPTEN_KEEPALIVE IsGeneric() const; | 
| + String EMSCRIPTEN_KEEPALIVE Serialize() const; | 
| +}; | 
| + | 
| +#endif |