| LEFT | RIGHT |
| 1 #include <vector> | 1 #include <vector> |
| 2 #include <string> | 2 #include <string> |
| 3 | 3 |
| 4 namespace AdblockPlus | 4 namespace AdblockPlus |
| 5 { | 5 { |
| 6 class JsEngine; | 6 class JsEngine; |
| 7 | 7 |
| 8 struct Subscription | 8 struct Subscription |
| 9 { | 9 { |
| 10 std::string url; | 10 std::string url; |
| 11 std::string title; | 11 std::string title; |
| 12 | 12 |
| 13 Subscription(const std::string& url, const std::string& title); | 13 Subscription(const std::string& url, const std::string& title); |
| 14 }; | 14 }; |
| 15 | 15 |
| 16 class FilterEngine | 16 class FilterEngine |
| 17 { | 17 { |
| 18 public: | 18 public: |
| 19 explicit FilterEngine(JsEngine& jsEngine); | 19 explicit FilterEngine(JsEngine& jsEngine); |
| 20 void AddSubscription(Subscription subscription); | 20 void AddSubscription(Subscription subscription); |
| 21 void RemoveSubscription(const Subscription& subscription); | 21 void RemoveSubscription(const Subscription& subscription); |
| 22 const Subscription* FindSubscription(const std::string& url) const; | 22 const Subscription* FindSubscription(const std::string& url) const; |
| 23 const std::vector<Subscription>& GetSubscriptions() const; | 23 const std::vector<Subscription>& GetSubscriptions() const; |
| 24 void UpdateSubscriptionFilters(const Subscription& subscription); | 24 void UpdateSubscriptionFilters(const Subscription& subscription); |
| 25 std::vector<Subscription> FetchAvailableSubscriptions(); | 25 std::vector<Subscription> FetchAvailableSubscriptions(); |
| 26 bool MatchesFilters(const std::string& url, | 26 bool Matches(const std::string& url, |
| 27 const std::string& contentType) const; | 27 const std::string& contentType) const; |
| 28 std::vector<std::string> GetElementHidingRules() const; | 28 std::vector<std::string> GetElementHidingRules() const; |
| 29 | 29 |
| 30 private: | 30 private: |
| 31 JsEngine& jsEngine; | 31 JsEngine& jsEngine; |
| 32 std::vector<Subscription> subscriptions; | 32 std::vector<Subscription> subscriptions; |
| 33 }; | 33 }; |
| 34 } | 34 } |
| LEFT | RIGHT |