OLD | NEW |
1 #ifndef ADBLOCKPLUS_FILTER_ENGINE_H | 1 #ifndef ADBLOCKPLUS_FILTER_ENGINE_H |
2 #define ADBLOCKPLUS_FILTER_ENGINE_H | 2 #define ADBLOCKPLUS_FILTER_ENGINE_H |
3 | 3 |
4 #include <vector> | 4 #include <vector> |
5 #include <map> | 5 #include <map> |
6 #include <string> | 6 #include <string> |
7 #include <AdblockPlus/JsEngine.h> | 7 #include <AdblockPlus/JsEngine.h> |
8 #include <AdblockPlus/JsValue.h> | 8 #include <AdblockPlus/JsValue.h> |
9 | 9 |
10 #include "tr1_memory.h" | 10 #include "tr1_memory.h" |
11 | 11 |
12 namespace AdblockPlus | 12 namespace AdblockPlus |
13 { | 13 { |
14 class FilterEngine; | 14 class FilterEngine; |
15 | 15 |
16 class JsObject : public JsValue | 16 class Filter : public JsValue, |
17 { | |
18 public: | |
19 std::string GetProperty(const std::string& name, const std::string& defaultV
alue) const; | |
20 int64_t GetProperty(const std::string& name, int64_t defaultValue) const; | |
21 bool GetProperty(const std::string& name, bool defaultValue) const; | |
22 inline std::string GetProperty(const std::string& name, const char* defaultV
alue) const | |
23 { | |
24 return GetProperty(name, std::string(defaultValue)); | |
25 } | |
26 inline int64_t GetProperty(const std::string& name, int defaultValue) const | |
27 { | |
28 return GetProperty(name, static_cast<int64_t>(defaultValue)); | |
29 } | |
30 | |
31 protected: | |
32 JsObject(JsValuePtr value); | |
33 }; | |
34 | |
35 class Filter : public JsObject, | |
36 public std::tr1::enable_shared_from_this<Filter> | 17 public std::tr1::enable_shared_from_this<Filter> |
37 { | 18 { |
38 public: | 19 public: |
39 enum Type {TYPE_BLOCKING, TYPE_EXCEPTION, | 20 enum Type {TYPE_BLOCKING, TYPE_EXCEPTION, |
40 TYPE_ELEMHIDE, TYPE_ELEMHIDE_EXCEPTION, | 21 TYPE_ELEMHIDE, TYPE_ELEMHIDE_EXCEPTION, |
41 TYPE_COMMENT, TYPE_INVALID}; | 22 TYPE_COMMENT, TYPE_INVALID}; |
42 | 23 |
| 24 Type GetType(); |
43 bool IsListed(); | 25 bool IsListed(); |
44 void AddToList(); | 26 void AddToList(); |
45 void RemoveFromList(); | 27 void RemoveFromList(); |
46 bool operator==(const Filter& filter) const; | 28 bool operator==(const Filter& filter) const; |
47 | 29 |
48 Filter(JsValuePtr value); | 30 Filter(JsValuePtr value); |
49 }; | 31 }; |
50 | 32 |
51 class Subscription : public JsObject, | 33 class Subscription : public JsValue, |
52 public std::tr1::enable_shared_from_this<Subscription> | 34 public std::tr1::enable_shared_from_this<Subscription> |
53 { | 35 { |
54 public: | 36 public: |
55 bool IsListed(); | 37 bool IsListed(); |
56 void AddToList(); | 38 void AddToList(); |
57 void RemoveFromList(); | 39 void RemoveFromList(); |
58 void UpdateFilters(); | 40 void UpdateFilters(); |
59 bool IsUpdating(); | 41 bool IsUpdating(); |
60 bool operator==(const Subscription& subscription) const; | 42 bool operator==(const Subscription& subscription) const; |
61 | 43 |
(...skipping 16 matching lines...) Expand all Loading... |
78 const std::string& contentType, | 60 const std::string& contentType, |
79 const std::string& documentUrl); | 61 const std::string& documentUrl); |
80 std::vector<std::string> GetElementHidingSelectors(const std::string& domain
) const; | 62 std::vector<std::string> GetElementHidingSelectors(const std::string& domain
) const; |
81 | 63 |
82 private: | 64 private: |
83 JsEnginePtr jsEngine; | 65 JsEnginePtr jsEngine; |
84 }; | 66 }; |
85 } | 67 } |
86 | 68 |
87 #endif | 69 #endif |
OLD | NEW |