| OLD | NEW |
| 1 #include "PluginStdAfx.h" | 1 #include "PluginStdAfx.h" |
| 2 | 2 |
| 3 #include "PluginSettings.h" | 3 #include "PluginSettings.h" |
| 4 #include "PluginSystem.h" | 4 #include "PluginSystem.h" |
| 5 #include "PluginFilter.h" | 5 #include "PluginFilter.h" |
| 6 #include "PluginClientFactory.h" | 6 #include "PluginClientFactory.h" |
| 7 #include "PluginHttpRequest.h" | 7 #include "PluginHttpRequest.h" |
| 8 #include "PluginMutex.h" | 8 #include "PluginMutex.h" |
| 9 #include "PluginClass.h" | 9 #include "PluginClass.h" |
| 10 | 10 |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 return std::auto_ptr<Communication::Pipe>(new Communication::Pipe(Comm
unication::pipeName, Communication::Pipe::MODE_CONNECT)); | 59 return std::auto_ptr<Communication::Pipe>(new Communication::Pipe(Comm
unication::pipeName, Communication::Pipe::MODE_CONNECT)); |
| 60 } | 60 } |
| 61 catch (Communication::PipeConnectionError e) | 61 catch (Communication::PipeConnectionError e) |
| 62 { | 62 { |
| 63 } | 63 } |
| 64 } | 64 } |
| 65 throw std::runtime_error("Unable to open Adblock Plus Engine pipe"); | 65 throw std::runtime_error("Unable to open Adblock Plus Engine pipe"); |
| 66 } | 66 } |
| 67 } | 67 } |
| 68 | 68 |
| 69 std::vector<std::string> ReadStrings(Communication::InputBuffer& message) | 69 std::vector<std::wstring> ReadStrings(Communication::InputBuffer& message) |
| 70 { | 70 { |
| 71 int32_t count; | 71 int32_t count; |
| 72 message >> count; | 72 message >> count; |
| 73 | 73 |
| 74 std::vector<std::string> result; | 74 std::vector<std::wstring> result; |
| 75 for (int32_t i = 0; i < count; i++) | 75 for (int32_t i = 0; i < count; i++) |
| 76 { | 76 { |
| 77 std::string str; | 77 std::string str; |
| 78 message >> str; | 78 message >> str; |
| 79 result.push_back(str); | 79 result.push_back(ToUtf16String(str)); |
| 80 } | 80 } |
| 81 return result; | 81 return result; |
| 82 } | 82 } |
| 83 | 83 |
| 84 std::vector<SubscriptionDescription> ReadSubscriptions(Communication::InputBuf
fer& message) | 84 std::vector<SubscriptionDescription> ReadSubscriptions(Communication::InputBuf
fer& message) |
| 85 { | 85 { |
| 86 int32_t count; | 86 int32_t count; |
| 87 message >> count; | 87 message >> count; |
| 88 | 88 |
| 89 std::vector<SubscriptionDescription> result; | 89 std::vector<SubscriptionDescription> result; |
| 90 for (int32_t i = 0; i < count; i++) | 90 for (int32_t i = 0; i < count; i++) |
| 91 { | 91 { |
| 92 SubscriptionDescription description; | 92 SubscriptionDescription description; |
| 93 message >> description.url >> description.title | 93 std::string url; |
| 94 >> description.specialization >> description.listed; | 94 message >> url; |
| 95 description.url = ToUtf16String(url); |
| 96 std::string title; |
| 97 message >> title; |
| 98 description.title = ToUtf16String(title); |
| 99 std::string specialization; |
| 100 message >> specialization; |
| 101 description.specialization = ToUtf16String(specialization); |
| 102 message >> description.listed; |
| 95 result.push_back(description); | 103 result.push_back(description); |
| 96 } | 104 } |
| 97 return result; | 105 return result; |
| 98 } | 106 } |
| 99 | 107 |
| 100 Communication::InputBuffer CallAdblockPlusEngineProcedure(Communication::Outpu
tBuffer& message) | 108 Communication::InputBuffer CallAdblockPlusEngineProcedure(Communication::Outpu
tBuffer& message) |
| 101 { | 109 { |
| 102 std::auto_ptr<Communication::Pipe> pipe = OpenAdblockPlusEnginePipe(); | 110 std::auto_ptr<Communication::Pipe> pipe = OpenAdblockPlusEnginePipe(); |
| 103 pipe->WriteMessage(message); | 111 pipe->WriteMessage(message); |
| 104 return pipe->ReadMessage(); | 112 return pipe->ReadMessage(); |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 { | 202 { |
| 195 bool isHidden; | 203 bool isHidden; |
| 196 m_criticalSectionFilter.Lock(); | 204 m_criticalSectionFilter.Lock(); |
| 197 { | 205 { |
| 198 isHidden = filter && filter->IsElementHidden(tag, pEl, domain, indent); | 206 isHidden = filter && filter->IsElementHidden(tag, pEl, domain, indent); |
| 199 } | 207 } |
| 200 m_criticalSectionFilter.Unlock(); | 208 m_criticalSectionFilter.Unlock(); |
| 201 return isHidden; | 209 return isHidden; |
| 202 } | 210 } |
| 203 | 211 |
| 204 bool CAdblockPlusClient::IsWhitelistedUrl(const std::string& url) | 212 bool CAdblockPlusClient::IsWhitelistedUrl(const std::wstring& url) |
| 205 { | 213 { |
| 206 Communication::OutputBuffer request; | 214 Communication::OutputBuffer request; |
| 207 request << Communication::PROC_IS_WHITELISTED_URL << url; | 215 request << Communication::PROC_IS_WHITELISTED_URL << ToUtf8String(url); |
| 208 | 216 |
| 209 try | 217 try |
| 210 { | 218 { |
| 211 Communication::InputBuffer response = CallAdblockPlusEngineProcedure(request
); | 219 Communication::InputBuffer response = CallAdblockPlusEngineProcedure(request
); |
| 212 | 220 |
| 213 bool isWhitelisted; | 221 bool isWhitelisted; |
| 214 response >> isWhitelisted; | 222 response >> isWhitelisted; |
| 215 return isWhitelisted; | 223 return isWhitelisted; |
| 216 } | 224 } |
| 217 catch (const std::exception& e) | 225 catch (const std::exception& e) |
| (...skipping 17 matching lines...) Expand all Loading... |
| 235 cbData = 50; | 243 cbData = 50; |
| 236 status = RegQueryValueEx(hKey, L"Version", NULL, &type, (BYTE*)version, &cbDat
a); | 244 status = RegQueryValueEx(hKey, L"Version", NULL, &type, (BYTE*)version, &cbDat
a); |
| 237 if (status != 0) | 245 if (status != 0) |
| 238 { | 246 { |
| 239 return 0; | 247 return 0; |
| 240 } | 248 } |
| 241 RegCloseKey(hKey); | 249 RegCloseKey(hKey); |
| 242 return (int)(version[0] - 48); | 250 return (int)(version[0] - 48); |
| 243 } | 251 } |
| 244 | 252 |
| 245 bool CAdblockPlusClient::Matches(const std::string& url, const std::string& cont
entType, const std::string& domain) | 253 bool CAdblockPlusClient::Matches(const std::wstring& url, const std::wstring& co
ntentType, const std::wstring& domain) |
| 246 { | 254 { |
| 247 Communication::OutputBuffer request; | 255 Communication::OutputBuffer request; |
| 248 request << Communication::PROC_MATCHES << url << contentType << domain; | 256 request << Communication::PROC_MATCHES << ToUtf8String(url) << ToUtf8String(co
ntentType) << ToUtf8String(domain); |
| 249 | 257 |
| 250 try | 258 try |
| 251 { | 259 { |
| 252 Communication::InputBuffer response = CallAdblockPlusEngineProcedure(request
); | 260 Communication::InputBuffer response = CallAdblockPlusEngineProcedure(request
); |
| 253 | 261 |
| 254 bool match; | 262 bool match; |
| 255 response >> match; | 263 response >> match; |
| 256 return match; | 264 return match; |
| 257 } | 265 } |
| 258 catch (const std::exception& e) | 266 catch (const std::exception& e) |
| 259 { | 267 { |
| 260 DEBUG_GENERAL(e.what()); | 268 DEBUG_GENERAL(e.what()); |
| 261 return false; | 269 return false; |
| 262 } | 270 } |
| 263 } | 271 } |
| 264 | 272 |
| 265 std::vector<std::string> CAdblockPlusClient::GetElementHidingSelectors(const std
::string& domain) | 273 std::vector<std::wstring> CAdblockPlusClient::GetElementHidingSelectors(const st
d::wstring& domain) |
| 266 { | 274 { |
| 267 Communication::OutputBuffer request; | 275 Communication::OutputBuffer request; |
| 268 request << Communication::PROC_GET_ELEMHIDE_SELECTORS << domain; | 276 request << Communication::PROC_GET_ELEMHIDE_SELECTORS << ToUtf8String(domain); |
| 269 | 277 |
| 270 try | 278 try |
| 271 { | 279 { |
| 272 Communication::InputBuffer response = CallAdblockPlusEngineProcedure(request
); | 280 Communication::InputBuffer response = CallAdblockPlusEngineProcedure(request
); |
| 273 return ReadStrings(response); | 281 return ReadStrings(response); |
| 274 } | 282 } |
| 275 catch (const std::exception& e) | 283 catch (const std::exception& e) |
| 276 { | 284 { |
| 277 DEBUG_GENERAL(e.what()); | 285 DEBUG_GENERAL(e.what()); |
| 278 return std::vector<std::string>(); | 286 return std::vector<std::wstring>(); |
| 279 } | 287 } |
| 280 } | 288 } |
| 281 | 289 |
| 282 std::vector<SubscriptionDescription> CAdblockPlusClient::FetchAvailableSubscript
ions() | 290 std::vector<SubscriptionDescription> CAdblockPlusClient::FetchAvailableSubscript
ions() |
| 283 { | 291 { |
| 284 try | 292 try |
| 285 { | 293 { |
| 286 Communication::InputBuffer response = CallAdblockPlusEngineProcedure(Communi
cation::PROC_AVAILABLE_SUBSCRIPTIONS); | 294 Communication::InputBuffer response = CallAdblockPlusEngineProcedure(Communi
cation::PROC_AVAILABLE_SUBSCRIPTIONS); |
| 287 return ReadSubscriptions(response); | 295 return ReadSubscriptions(response); |
| 288 } | 296 } |
| (...skipping 11 matching lines...) Expand all Loading... |
| 300 Communication::InputBuffer response = CallAdblockPlusEngineProcedure(Communi
cation::PROC_LISTED_SUBSCRIPTIONS); | 308 Communication::InputBuffer response = CallAdblockPlusEngineProcedure(Communi
cation::PROC_LISTED_SUBSCRIPTIONS); |
| 301 return ReadSubscriptions(response); | 309 return ReadSubscriptions(response); |
| 302 } | 310 } |
| 303 catch (const std::exception& e) | 311 catch (const std::exception& e) |
| 304 { | 312 { |
| 305 DEBUG_GENERAL(e.what()); | 313 DEBUG_GENERAL(e.what()); |
| 306 return std::vector<SubscriptionDescription>(); | 314 return std::vector<SubscriptionDescription>(); |
| 307 } | 315 } |
| 308 } | 316 } |
| 309 | 317 |
| 310 void CAdblockPlusClient::SetSubscription(std::string url) | 318 void CAdblockPlusClient::SetSubscription(const std::wstring& url) |
| 311 { | 319 { |
| 312 Communication::OutputBuffer request; | 320 Communication::OutputBuffer request; |
| 313 request << Communication::PROC_SET_SUBSCRIPTION << url; | 321 request << Communication::PROC_SET_SUBSCRIPTION << ToUtf8String(url); |
| 314 | 322 |
| 315 try | 323 try |
| 316 { | 324 { |
| 317 CallAdblockPlusEngineProcedure(request); | 325 CallAdblockPlusEngineProcedure(request); |
| 318 } | 326 } |
| 319 catch (const std::exception& e) | 327 catch (const std::exception& e) |
| 320 { | 328 { |
| 321 DEBUG_GENERAL(e.what()); | 329 DEBUG_GENERAL(e.what()); |
| 322 } | 330 } |
| 323 } | 331 } |
| 324 | 332 |
| 325 void CAdblockPlusClient::UpdateAllSubscriptions() | 333 void CAdblockPlusClient::UpdateAllSubscriptions() |
| 326 { | 334 { |
| 327 try | 335 try |
| 328 { | 336 { |
| 329 CallAdblockPlusEngineProcedure(Communication::PROC_UPDATE_ALL_SUBSCRIPTIONS)
; | 337 CallAdblockPlusEngineProcedure(Communication::PROC_UPDATE_ALL_SUBSCRIPTIONS)
; |
| 330 } | 338 } |
| 331 catch (const std::exception& e) | 339 catch (const std::exception& e) |
| 332 { | 340 { |
| 333 DEBUG_GENERAL(e.what()); | 341 DEBUG_GENERAL(e.what()); |
| 334 } | 342 } |
| 335 } | 343 } |
| 336 | 344 |
| 337 std::vector<std::string> CAdblockPlusClient::GetExceptionDomains() | 345 std::vector<std::wstring> CAdblockPlusClient::GetExceptionDomains() |
| 338 { | 346 { |
| 339 try | 347 try |
| 340 { | 348 { |
| 341 Communication::InputBuffer response = CallAdblockPlusEngineProcedure(Communi
cation::PROC_GET_EXCEPTION_DOMAINS); | 349 Communication::InputBuffer response = CallAdblockPlusEngineProcedure(Communi
cation::PROC_GET_EXCEPTION_DOMAINS); |
| 342 return ReadStrings(response); | 350 return ReadStrings(response); |
| 343 } | 351 } |
| 344 catch (const std::exception& e) | 352 catch (const std::exception& e) |
| 345 { | 353 { |
| 346 DEBUG_GENERAL(e.what()); | 354 DEBUG_GENERAL(e.what()); |
| 347 return std::vector<std::string>(); | 355 return std::vector<std::wstring>(); |
| 348 } | 356 } |
| 349 } | 357 } |
| 350 | 358 |
| 351 void CAdblockPlusClient::AddFilter(const std::string& text) | 359 void CAdblockPlusClient::AddFilter(const std::wstring& text) |
| 352 { | 360 { |
| 353 Communication::OutputBuffer request; | 361 Communication::OutputBuffer request; |
| 354 request << Communication::PROC_ADD_FILTER << text; | 362 request << Communication::PROC_ADD_FILTER << ToUtf8String(text); |
| 355 | 363 |
| 356 try | 364 try |
| 357 { | 365 { |
| 358 CallAdblockPlusEngineProcedure(request); | 366 CallAdblockPlusEngineProcedure(request); |
| 359 } | 367 } |
| 360 catch (const std::exception& e) | 368 catch (const std::exception& e) |
| 361 { | 369 { |
| 362 DEBUG_GENERAL(e.what()); | 370 DEBUG_GENERAL(e.what()); |
| 363 } | 371 } |
| 364 } | 372 } |
| 365 | 373 |
| 366 void CAdblockPlusClient::RemoveFilter(const std::string& text) | 374 void CAdblockPlusClient::RemoveFilter(const std::wstring& text) |
| 367 { | 375 { |
| 368 Communication::OutputBuffer request; | 376 Communication::OutputBuffer request; |
| 369 request << Communication::PROC_REMOVE_FILTER << text; | 377 request << Communication::PROC_REMOVE_FILTER << ToUtf8String(text); |
| 370 | 378 |
| 371 try | 379 try |
| 372 { | 380 { |
| 373 CallAdblockPlusEngineProcedure(request); | 381 CallAdblockPlusEngineProcedure(request); |
| 374 } | 382 } |
| 375 catch (const std::exception& e) | 383 catch (const std::exception& e) |
| 376 { | 384 { |
| 377 DEBUG_GENERAL(e.what()); | 385 DEBUG_GENERAL(e.what()); |
| 378 } | 386 } |
| 379 } | 387 } |
| OLD | NEW |