Left: | ||
Right: |
LEFT | RIGHT |
---|---|
1 #include <AdblockPlus.h> | 1 #include <AdblockPlus.h> |
2 | 2 |
3 using namespace AdblockPlus; | 3 using namespace AdblockPlus; |
4 | 4 |
5 Subscription::Subscription(const std::string& url, const std::string& title) | |
6 : url(url), title(title) | |
7 { | |
8 } | |
9 | |
5 FilterEngine::FilterEngine(JsEngine& jsEngine) : jsEngine(jsEngine) | 10 FilterEngine::FilterEngine(JsEngine& jsEngine) : jsEngine(jsEngine) |
6 { | 11 { |
12 // TODO: Load ABP: | |
13 // jsEngine.Load("adblockplus_compat.js"); | |
14 // jsEngine.Load("adblockplus.js"); | |
7 } | 15 } |
8 | 16 |
9 void FilterEngine::AddSubscription(Subscription subscription) | 17 void FilterEngine::AddSubscription(Subscription subscription) |
10 { | 18 { |
19 subscriptions.push_back(subscription); | |
11 } | 20 } |
12 | 21 |
13 void FilterEngine::RemoveSubscription(const Subscription& subscription) | 22 void FilterEngine::RemoveSubscription(const Subscription& subscription) |
14 { | 23 { |
24 for (std::vector<Subscription>::iterator it = subscriptions.begin(); | |
25 it != subscriptions.end();) | |
26 if (it->url == subscription.url) | |
27 it = subscriptions.erase(it); | |
28 else | |
29 it++; | |
15 } | 30 } |
16 | 31 |
17 std::vector<Subscription> FilterEngine::GetSubscriptions() | 32 const Subscription* FilterEngine::FindSubscription(const std::string& url) const |
18 { | 33 { |
19 return std::vector<Subscription>(); | 34 for (std::vector<Subscription>::const_iterator it = subscriptions.begin(); |
35 it != subscriptions.end(); it++) | |
36 if (it->url == url) | |
37 return &(*it); | |
38 return 0; | |
39 } | |
40 | |
41 const std::vector<Subscription>& FilterEngine::GetSubscriptions() const | |
42 { | |
43 return subscriptions; | |
20 } | 44 } |
21 | 45 |
22 void FilterEngine::UpdateSubscriptionFilters(const Subscription& subscription) | 46 void FilterEngine::UpdateSubscriptionFilters(const Subscription& subscription) |
23 { | 47 { |
24 } | 48 } |
25 | 49 |
26 std::vector<Subscription> FilterEngine::FetchSubscriptionList() | 50 std::vector<Subscription> FilterEngine::FetchAvailableSubscriptions() |
27 { | 51 { |
28 return std::vector<Subscription>(); | 52 std::vector<Subscription> availableSubscriptions; |
53 availableSubscriptions.push_back(Subscription("https://easylist-downloads.adbl ockplus.org/easylist.txt", "EasyList")); | |
54 availableSubscriptions.push_back(Subscription("https://easylist-downloads.adbl ockplus.org/easylistgermany+easylist.txt", "EasyList Germany+EasyList")); | |
55 return availableSubscriptions; | |
29 } | 56 } |
30 | 57 |
31 bool FilterEngine::FiltersMatch(const std::string& url, | 58 bool FilterEngine::Matches(const std::string& url, |
32 const std::string& contentType) const | 59 const std::string& contentType) const |
33 { | 60 { |
Oleksandr
2013/03/27 08:37:01
I guess it probably won't be an issue on Linux, bu
Felix Dahlke
2013/03/27 08:59:18
That's tricky actually... std::string works fine f
| |
34 return false; | 61 return subscriptions.size() && url.length() % 2; |
35 } | 62 } |
36 | 63 |
37 std::vector<std::string> FilterEngine::GetElementHidingRules() const | 64 std::vector<std::string> FilterEngine::GetElementHidingRules() const |
38 { | 65 { |
39 return std::vector<std::string>(); | 66 std::vector<std::string> hidingRules; |
67 hidingRules.push_back("###ad"); | |
68 hidingRules.push_back("##.ad"); | |
69 return hidingRules; | |
40 } | 70 } |
LEFT | RIGHT |