| Left: | ||
| Right: |
| OLD | NEW |
|---|---|
| 1 #include <AdblockPlus.h> | 1 #include <AdblockPlus.h> |
| 2 #include <functional> | 2 #include <functional> |
| 3 #include <vector> | 3 #include <vector> |
| 4 #include <Windows.h> | 4 #include <Windows.h> |
| 5 | 5 |
| 6 #include "../shared/AutoHandle.h" | 6 #include "../shared/AutoHandle.h" |
| 7 #include "../shared/Communication.h" | 7 #include "../shared/Communication.h" |
| 8 #include "../shared/Dictionary.h" | 8 #include "../shared/Dictionary.h" |
| 9 #include "../shared/Utils.h" | 9 #include "../shared/Utils.h" |
| 10 #include "../shared/Version.h" | 10 #include "../shared/Version.h" |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 107 case Communication::PROC_LISTED_SUBSCRIPTIONS: | 107 case Communication::PROC_LISTED_SUBSCRIPTIONS: |
| 108 { | 108 { |
| 109 WriteSubscriptions(response, filterEngine->GetListedSubscriptions()); | 109 WriteSubscriptions(response, filterEngine->GetListedSubscriptions()); |
| 110 break; | 110 break; |
| 111 } | 111 } |
| 112 case Communication::PROC_SET_SUBSCRIPTION: | 112 case Communication::PROC_SET_SUBSCRIPTION: |
| 113 { | 113 { |
| 114 std::string url; | 114 std::string url; |
| 115 request >> url; | 115 request >> url; |
| 116 | 116 |
| 117 AdblockPlus::JsValuePtr valuePtr = filterEngine->GetPref("subscriptions_ exceptionsurl"); | |
| 118 std::string aaUrl = ""; | |
| 119 if (valuePtr->IsString()) | |
| 120 { | |
| 121 aaUrl = valuePtr->AsString(); | |
| 122 } | |
|
Eric
2014/06/25 14:34:15
Why the partial type enforcement? Is there any rea
Felix Dahlke
2014/06/30 17:24:04
I guess this is because the pref could be missing,
| |
| 117 std::vector<AdblockPlus::SubscriptionPtr> subscriptions = filterEngine-> GetListedSubscriptions(); | 123 std::vector<AdblockPlus::SubscriptionPtr> subscriptions = filterEngine-> GetListedSubscriptions(); |
| 124 | |
| 125 // Remove all subscriptions, besides the Acceptable Ads | |
|
Felix Dahlke
2014/06/30 17:24:04
Wow, this is hacky. So we currently only support e
Oleksandr
2014/07/18 19:06:42
https://issues.adblockplus.org/ticket/1084
On 2014
| |
| 118 for (size_t i = 0, count = subscriptions.size(); i < count; i++) | 126 for (size_t i = 0, count = subscriptions.size(); i < count; i++) |
| 119 subscriptions[i]->RemoveFromList(); | 127 { |
| 128 if (subscriptions[i].get()->GetProperty("url")->AsString() != aaUrl) | |
|
Felix Dahlke
2014/06/30 17:24:04
Are you sure the .get() is required here? That sho
| |
| 129 { | |
| 130 subscriptions[i]->RemoveFromList(); | |
| 131 } | |
| 132 } | |
| 133 | |
| 134 // Add new subscription | |
|
Felix Dahlke
2014/06/30 17:24:04
Kinda obvious IMHO :P
| |
| 135 filterEngine->GetSubscription(url)->AddToList(); | |
| 136 break; | |
| 137 } | |
| 138 case Communication::PROC_ADD_SUBSCRIPTION: | |
| 139 { | |
| 140 std::string url; | |
| 141 request >> url; | |
| 120 | 142 |
| 121 filterEngine->GetSubscription(url)->AddToList(); | 143 filterEngine->GetSubscription(url)->AddToList(); |
| 122 break; | 144 break; |
| 123 } | 145 } |
| 146 case Communication::PROC_REMOVE_SUBSCRIPTION: | |
| 147 { | |
| 148 std::string url; | |
| 149 request >> url; | |
| 150 | |
| 151 filterEngine->GetSubscription(url)->RemoveFromList(); | |
| 152 break; | |
| 153 } | |
| 124 case Communication::PROC_UPDATE_ALL_SUBSCRIPTIONS: | 154 case Communication::PROC_UPDATE_ALL_SUBSCRIPTIONS: |
| 125 { | 155 { |
| 126 std::vector<AdblockPlus::SubscriptionPtr> subscriptions = filterEngine-> GetListedSubscriptions(); | 156 std::vector<AdblockPlus::SubscriptionPtr> subscriptions = filterEngine-> GetListedSubscriptions(); |
| 127 for (size_t i = 0, count = subscriptions.size(); i < count; i++) | 157 for (size_t i = 0, count = subscriptions.size(); i < count; i++) |
| 128 subscriptions[i]->UpdateFilters(); | 158 subscriptions[i]->UpdateFilters(); |
| 129 break; | 159 break; |
| 130 } | 160 } |
| 131 case Communication::PROC_GET_EXCEPTION_DOMAINS: | 161 case Communication::PROC_GET_EXCEPTION_DOMAINS: |
| 132 { | 162 { |
| 133 std::vector<AdblockPlus::FilterPtr> filters = filterEngine->GetListedFil ters(); | 163 std::vector<AdblockPlus::FilterPtr> filters = filterEngine->GetListedFil ters(); |
| (...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 418 } | 448 } |
| 419 catch (std::runtime_error e) | 449 catch (std::runtime_error e) |
| 420 { | 450 { |
| 421 DebugException(e); | 451 DebugException(e); |
| 422 return 1; | 452 return 1; |
| 423 } | 453 } |
| 424 } | 454 } |
| 425 | 455 |
| 426 return 0; | 456 return 0; |
| 427 } | 457 } |
| OLD | NEW |