| OLD | NEW | 
| (Empty) |  | 
 |   1 #ifndef ADBLOCK_PLUS_ACTIVE_FILTER_H | 
 |   2 #define ADBLOCK_PLUS_ACTIVE_FILTER_H | 
 |   3  | 
 |   4 #include <emscripten.h> | 
 |   5  | 
 |   6 #include "Filter.h" | 
 |   7 #include "StringMap.h" | 
 |   8  | 
 |   9 #define FILTER_PROPERTY(type, name, getter, setter) \ | 
 |  10     private:\ | 
 |  11       type name;\ | 
 |  12     public:\ | 
 |  13       type EMSCRIPTEN_KEEPALIVE getter() const\ | 
 |  14       {\ | 
 |  15         return name;\ | 
 |  16       }\ | 
 |  17       void EMSCRIPTEN_KEEPALIVE setter(type value)\ | 
 |  18       {\ | 
 |  19         if (name != value)\ | 
 |  20         {\ | 
 |  21           type oldvalue = name;\ | 
 |  22           name = value;\ | 
 |  23           String action(u"filter."_str #name);\ | 
 |  24           EM_ASM_ARGS({\ | 
 |  25             var filter = new (exports[Filter_mapping[$2]])($1);\ | 
 |  26             FilterNotifier.triggerListeners(getStringData($0), filter, $3, $4);\ | 
 |  27           }, &action, this, GetType(), value, oldvalue);\ | 
 |  28         }\ | 
 |  29       } | 
 |  30  | 
 |  31 class ActiveFilter : public Filter | 
 |  32 { | 
 |  33 protected: | 
 |  34   typedef StringMap<bool> DomainMap; | 
 |  35   typedef StringSet SitekeySet; | 
 |  36   static void ToLower(String& str, String::size_type start, | 
 |  37       String::size_type end); | 
 |  38   void ParseDomains(const String& domains, char16_t separator) const; | 
 |  39   void AddSitekey(const String& sitekey) const; | 
 |  40   virtual DomainMap* GetDomains() const; | 
 |  41   virtual SitekeySet* GetSitekeys() const; | 
 |  42   mutable std::unique_ptr<DomainMap> mDomains; | 
 |  43   mutable std::unique_ptr<SitekeySet> mSitekeys; | 
 |  44 private: | 
 |  45   bool mIgnoreTrailingDot; | 
 |  46 public: | 
 |  47   ActiveFilter(const String& text, bool ignoreTrailingDot); | 
 |  48   FILTER_PROPERTY(bool, mDisabled, GetDisabled, SetDisabled); | 
 |  49   FILTER_PROPERTY(unsigned int, mHitCount, GetHitCount, SetHitCount); | 
 |  50   FILTER_PROPERTY(unsigned int, mLastHit, GetLastHit, SetLastHit); | 
 |  51   bool EMSCRIPTEN_KEEPALIVE IsActiveOnDomain(String& docDomain, | 
 |  52       const String& sitekey) const; | 
 |  53   bool EMSCRIPTEN_KEEPALIVE IsActiveOnlyOnDomain(String& docDomain) const; | 
 |  54   bool EMSCRIPTEN_KEEPALIVE IsGeneric() const; | 
 |  55   String EMSCRIPTEN_KEEPALIVE Serialize() const; | 
 |  56 }; | 
 |  57  | 
 |  58 #endif | 
| OLD | NEW |