| OLD | NEW | 
|    1 #include "PluginStdAfx.h" |    1 #include "PluginStdAfx.h" | 
|    2 #include "PluginSettings.h" |    2 #include "PluginSettings.h" | 
|    3 #include "PluginSystem.h" |    3 #include "PluginSystem.h" | 
|    4 #include "PluginFilter.h" |    4 #include "PluginFilter.h" | 
|    5 #include "PluginClientFactory.h" |    5 #include "PluginClientFactory.h" | 
|    6 #include "PluginMutex.h" |    6 #include "PluginMutex.h" | 
|    7 #include "PluginClass.h" |    7 #include "PluginClass.h" | 
|    8  |    8  | 
|    9 #include "AdblockPlusClient.h" |    9 #include "AdblockPlusClient.h" | 
|   10  |   10  | 
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  110  |  110  | 
|  111   std::vector<SubscriptionDescription> ReadSubscriptions(Communication::InputBuf
     fer& message) |  111   std::vector<SubscriptionDescription> ReadSubscriptions(Communication::InputBuf
     fer& message) | 
|  112   { |  112   { | 
|  113     int32_t count; |  113     int32_t count; | 
|  114     message >> count; |  114     message >> count; | 
|  115  |  115  | 
|  116     std::vector<SubscriptionDescription> result; |  116     std::vector<SubscriptionDescription> result; | 
|  117     for (int32_t i = 0; i < count; i++) |  117     for (int32_t i = 0; i < count; i++) | 
|  118     { |  118     { | 
|  119       SubscriptionDescription description; |  119       SubscriptionDescription description; | 
|  120       std::string url; |  120       message >> description.url; | 
|  121       message >> url; |  121       message >> description.title; | 
|  122       description.url = ToUtf16String(url); |  122       message >> description.specialization; | 
|  123       std::string title; |  | 
|  124       message >> title; |  | 
|  125       description.title = ToUtf16String(title); |  | 
|  126       std::string specialization; |  | 
|  127       message >> specialization; |  | 
|  128       description.specialization = ToUtf16String(specialization); |  | 
|  129       message >> description.listed; |  123       message >> description.listed; | 
|  130       result.push_back(description); |  124       result.push_back(description); | 
|  131     } |  125     } | 
|  132     return result; |  126     return result; | 
|  133   } |  127   } | 
|  134 } |  128 } | 
|  135  |  129  | 
|  136 CAdblockPlusClient* CAdblockPlusClient::s_instance = NULL; |  130 CAdblockPlusClient* CAdblockPlusClient::s_instance = NULL; | 
|  137  |  131  | 
|  138 CAdblockPlusClient::CAdblockPlusClient() : CPluginClientBase() |  132 CAdblockPlusClient::CAdblockPlusClient() : CPluginClientBase() | 
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  238     isHidden = filter && filter->IsElementHidden(tag, pEl, domain, indent); |  232     isHidden = filter && filter->IsElementHidden(tag, pEl, domain, indent); | 
|  239   } |  233   } | 
|  240   m_criticalSectionFilter.Unlock(); |  234   m_criticalSectionFilter.Unlock(); | 
|  241   return isHidden; |  235   return isHidden; | 
|  242 } |  236 } | 
|  243  |  237  | 
|  244 bool CAdblockPlusClient::IsWhitelistedUrl(const std::wstring& url) |  238 bool CAdblockPlusClient::IsWhitelistedUrl(const std::wstring& url) | 
|  245 { |  239 { | 
|  246   DEBUG_GENERAL((L"IsWhitelistedUrl: " + url + L" start").c_str()); |  240   DEBUG_GENERAL((L"IsWhitelistedUrl: " + url + L" start").c_str()); | 
|  247   Communication::OutputBuffer request; |  241   Communication::OutputBuffer request; | 
|  248   request << Communication::PROC_IS_WHITELISTED_URL << ToUtf8String(url); |  242   request << Communication::PROC_IS_WHITELISTED_URL << url; | 
|  249  |  243  | 
|  250   Communication::InputBuffer response; |  244   Communication::InputBuffer response; | 
|  251   if (!CallEngine(request, response))  |  245   if (!CallEngine(request, response))  | 
|  252     return false; |  246     return false; | 
|  253  |  247  | 
|  254   bool isWhitelisted; |  248   bool isWhitelisted; | 
|  255   response >> isWhitelisted; |  249   response >> isWhitelisted; | 
|  256  |  250  | 
|  257   DEBUG_GENERAL((L"IsWhitelistedUrl: " + url + L" end").c_str()); |  251   DEBUG_GENERAL((L"IsWhitelistedUrl: " + url + L" end").c_str()); | 
|  258   return isWhitelisted; |  252   return isWhitelisted; | 
|  259 } |  253 } | 
|  260  |  254  | 
|  261 bool CAdblockPlusClient::IsElemhideWhitelistedOnDomain(const std::wstring& url) |  255 bool CAdblockPlusClient::IsElemhideWhitelistedOnDomain(const std::wstring& url) | 
|  262 { |  256 { | 
|  263   Communication::OutputBuffer request; |  257   Communication::OutputBuffer request; | 
|  264   request << Communication::PROC_IS_ELEMHIDE_WHITELISTED_ON_URL << ToUtf8String(
     url); |  258   request << Communication::PROC_IS_ELEMHIDE_WHITELISTED_ON_URL << url; | 
|  265  |  259  | 
|  266   Communication::InputBuffer response; |  260   Communication::InputBuffer response; | 
|  267   if (!CallEngine(request, response))  |  261   if (!CallEngine(request, response))  | 
|  268     return false; |  262     return false; | 
|  269  |  263  | 
|  270   bool isWhitelisted; |  264   bool isWhitelisted; | 
|  271   response >> isWhitelisted; |  265   response >> isWhitelisted; | 
|  272   return isWhitelisted; |  266   return isWhitelisted; | 
|  273 } |  267 } | 
|  274  |  268  | 
|  275 bool CAdblockPlusClient::Matches(const std::wstring& url, const std::wstring& co
     ntentType, const std::wstring& domain) |  269 bool CAdblockPlusClient::Matches(const std::wstring& url, const std::wstring& co
     ntentType, const std::wstring& domain) | 
|  276 { |  270 { | 
|  277   Communication::OutputBuffer request; |  271   Communication::OutputBuffer request; | 
|  278   request << Communication::PROC_MATCHES << ToUtf8String(url) << ToUtf8String(co
     ntentType) << ToUtf8String(domain); |  272   request << Communication::PROC_MATCHES << url << contentType << domain; | 
|  279  |  273  | 
|  280   Communication::InputBuffer response; |  274   Communication::InputBuffer response; | 
|  281   if (!CallEngine(request, response))  |  275   if (!CallEngine(request, response))  | 
|  282     return false; |  276     return false; | 
|  283  |  277  | 
|  284   bool match; |  278   bool match; | 
|  285   response >> match; |  279   response >> match; | 
|  286   return match; |  280   return match; | 
|  287 } |  281 } | 
|  288  |  282  | 
|  289 std::vector<std::wstring> CAdblockPlusClient::GetElementHidingSelectors(const st
     d::wstring& domain) |  283 std::vector<std::wstring> CAdblockPlusClient::GetElementHidingSelectors(const st
     d::wstring& domain) | 
|  290 { |  284 { | 
|  291   Communication::OutputBuffer request; |  285   Communication::OutputBuffer request; | 
|  292   request << Communication::PROC_GET_ELEMHIDE_SELECTORS << ToUtf8String(domain); |  286   request << Communication::PROC_GET_ELEMHIDE_SELECTORS << domain; | 
|  293  |  287  | 
|  294   Communication::InputBuffer response; |  288   Communication::InputBuffer response; | 
|  295   if (!CallEngine(request, response))  |  289   if (!CallEngine(request, response))  | 
|  296     return std::vector<std::wstring>(); |  290     return std::vector<std::wstring>(); | 
|  297  |  291  | 
|  298   std::vector<std::string> selectors; |  292   std::vector<std::wstring> selectors; | 
|  299   response >> selectors; |  293   response >> selectors; | 
|  300   return ToUtf16Strings(selectors); |  294   return selectors; | 
|  301 } |  295 } | 
|  302  |  296  | 
|  303 std::vector<SubscriptionDescription> CAdblockPlusClient::FetchAvailableSubscript
     ions() |  297 std::vector<SubscriptionDescription> CAdblockPlusClient::FetchAvailableSubscript
     ions() | 
|  304 { |  298 { | 
|  305   Communication::InputBuffer response; |  299   Communication::InputBuffer response; | 
|  306   if (!CallEngine(Communication::PROC_AVAILABLE_SUBSCRIPTIONS, response))  |  300   if (!CallEngine(Communication::PROC_AVAILABLE_SUBSCRIPTIONS, response))  | 
|  307     return std::vector<SubscriptionDescription>(); |  301     return std::vector<SubscriptionDescription>(); | 
|  308   return ReadSubscriptions(response); |  302   return ReadSubscriptions(response); | 
|  309 } |  303 } | 
|  310  |  304  | 
| (...skipping 16 matching lines...) Expand all  Loading... | 
|  327     { |  321     { | 
|  328       return true; |  322       return true; | 
|  329     } |  323     } | 
|  330   } |  324   } | 
|  331   return false; |  325   return false; | 
|  332 } |  326 } | 
|  333  |  327  | 
|  334 void CAdblockPlusClient::SetSubscription(const std::wstring& url) |  328 void CAdblockPlusClient::SetSubscription(const std::wstring& url) | 
|  335 { |  329 { | 
|  336   Communication::OutputBuffer request; |  330   Communication::OutputBuffer request; | 
|  337   request << Communication::PROC_SET_SUBSCRIPTION << ToUtf8String(url); |  331   request << Communication::PROC_SET_SUBSCRIPTION << url; | 
|  338   CallEngine(request); |  332   CallEngine(request); | 
|  339 } |  333 } | 
|  340  |  334  | 
|  341 void CAdblockPlusClient::AddSubscription(const std::wstring& url) |  335 void CAdblockPlusClient::AddSubscription(const std::wstring& url) | 
|  342 { |  336 { | 
|  343   Communication::OutputBuffer request; |  337   Communication::OutputBuffer request; | 
|  344   request << Communication::PROC_ADD_SUBSCRIPTION << ToUtf8String(url); |  338   request << Communication::PROC_ADD_SUBSCRIPTION << url; | 
|  345   CallEngine(request); |  339   CallEngine(request); | 
|  346 } |  340 } | 
|  347  |  341  | 
|  348 void CAdblockPlusClient::RemoveSubscription(const std::wstring& url) |  342 void CAdblockPlusClient::RemoveSubscription(const std::wstring& url) | 
|  349 { |  343 { | 
|  350   Communication::OutputBuffer request; |  344   Communication::OutputBuffer request; | 
|  351   request << Communication::PROC_REMOVE_SUBSCRIPTION << ToUtf8String(url); |  345   request << Communication::PROC_REMOVE_SUBSCRIPTION << url; | 
|  352   CallEngine(request); |  346   CallEngine(request); | 
|  353 } |  347 } | 
|  354  |  348  | 
|  355  |  349  | 
|  356 void CAdblockPlusClient::UpdateAllSubscriptions() |  350 void CAdblockPlusClient::UpdateAllSubscriptions() | 
|  357 { |  351 { | 
|  358   CallEngine(Communication::PROC_UPDATE_ALL_SUBSCRIPTIONS); |  352   CallEngine(Communication::PROC_UPDATE_ALL_SUBSCRIPTIONS); | 
|  359 } |  353 } | 
|  360  |  354  | 
|  361 std::vector<std::wstring> CAdblockPlusClient::GetExceptionDomains() |  355 std::vector<std::wstring> CAdblockPlusClient::GetExceptionDomains() | 
|  362 { |  356 { | 
|  363   Communication::InputBuffer response; |  357   Communication::InputBuffer response; | 
|  364   if (!CallEngine(Communication::PROC_GET_EXCEPTION_DOMAINS, response))  |  358   if (!CallEngine(Communication::PROC_GET_EXCEPTION_DOMAINS, response))  | 
|  365     return std::vector<std::wstring>(); |  359     return std::vector<std::wstring>(); | 
|  366  |  360  | 
|  367   std::vector<std::string> domains; |  361   std::vector<std::wstring> domains; | 
|  368   response >> domains; |  362   response >> domains; | 
|  369   return ToUtf16Strings(domains); |  363   return domains; | 
|  370 } |  364 } | 
|  371  |  365  | 
|  372 bool CAdblockPlusClient::IsFirstRun() |  366 bool CAdblockPlusClient::IsFirstRun() | 
|  373 { |  367 { | 
|  374   DEBUG_GENERAL("IsFirstRun"); |  368   DEBUG_GENERAL("IsFirstRun"); | 
|  375   Communication::InputBuffer response; |  369   Communication::InputBuffer response; | 
|  376   if (!CallEngine(Communication::PROC_IS_FIRST_RUN_ACTION_NEEDED, response)) ret
     urn false; |  370   if (!CallEngine(Communication::PROC_IS_FIRST_RUN_ACTION_NEEDED, response)) ret
     urn false; | 
|  377   bool res; |  371   bool res; | 
|  378   response >> res; |  372   response >> res; | 
|  379   return res; |  373   return res; | 
|  380 } |  374 } | 
|  381  |  375  | 
|  382 void CAdblockPlusClient::AddFilter(const std::wstring& text) |  376 void CAdblockPlusClient::AddFilter(const std::wstring& text) | 
|  383 { |  377 { | 
|  384   Communication::OutputBuffer request; |  378   Communication::OutputBuffer request; | 
|  385   request << Communication::PROC_ADD_FILTER << ToUtf8String(text); |  379   request << Communication::PROC_ADD_FILTER << text; | 
|  386   CallEngine(request); |  380   CallEngine(request); | 
|  387 } |  381 } | 
|  388  |  382  | 
|  389 void CAdblockPlusClient::RemoveFilter(const std::wstring& text) |  383 void CAdblockPlusClient::RemoveFilter(const std::wstring& text) | 
|  390 { |  384 { | 
|  391   Communication::OutputBuffer request; |  385   Communication::OutputBuffer request; | 
|  392   request << Communication::PROC_REMOVE_FILTER << ToUtf8String(text); |  386   request << Communication::PROC_REMOVE_FILTER << text; | 
|  393   CallEngine(request); |  387   CallEngine(request); | 
|  394 } |  388 } | 
|  395  |  389  | 
|  396 void CAdblockPlusClient::SetPref(const std::wstring& name, const std::wstring& v
     alue) |  390 void CAdblockPlusClient::SetPref(const std::wstring& name, const std::wstring& v
     alue) | 
|  397 { |  391 { | 
|  398   Communication::OutputBuffer request; |  392   Communication::OutputBuffer request; | 
|  399   request << Communication::PROC_SET_PREF << ToUtf8String(name) << ToUtf8String(
     value); |  393   request << Communication::PROC_SET_PREF << name << value; | 
|  400   CallEngine(request); |  394   CallEngine(request); | 
|  401 } |  395 } | 
|  402  |  396  | 
|  403 void CAdblockPlusClient::SetPref(const std::wstring& name, const int64_t & value
     ) |  397 void CAdblockPlusClient::SetPref(const std::wstring& name, const int64_t & value
     ) | 
|  404 { |  398 { | 
|  405   Communication::OutputBuffer request; |  399   Communication::OutputBuffer request; | 
|  406   request << Communication::PROC_SET_PREF << ToUtf8String(name) << value; |  400   request << Communication::PROC_SET_PREF << name << value; | 
|  407   CallEngine(request); |  401   CallEngine(request); | 
|  408 } |  402 } | 
|  409  |  403  | 
|  410 void CAdblockPlusClient::SetPref(const std::wstring& name, bool value) |  404 void CAdblockPlusClient::SetPref(const std::wstring& name, bool value) | 
|  411 { |  405 { | 
|  412   Communication::OutputBuffer request; |  406   Communication::OutputBuffer request; | 
|  413   request << Communication::PROC_SET_PREF << ToUtf8String(name) << value; |  407   request << Communication::PROC_SET_PREF << name << value; | 
|  414   CallEngine(request); |  408   CallEngine(request); | 
|  415 } |  409 } | 
|  416  |  410  | 
|  417 std::wstring CAdblockPlusClient::GetPref(const std::wstring& name, const wchar_t
     * defaultValue) |  411 std::wstring CAdblockPlusClient::GetPref(const std::wstring& name, const wchar_t
     * defaultValue) | 
|  418 { |  412 { | 
|  419   return GetPref(name, std::wstring(defaultValue)); |  413   return GetPref(name, std::wstring(defaultValue)); | 
|  420 } |  414 } | 
|  421 std::wstring CAdblockPlusClient::GetPref(const std::wstring& name, const std::ws
     tring& defaultValue) |  415 std::wstring CAdblockPlusClient::GetPref(const std::wstring& name, const std::ws
     tring& defaultValue) | 
|  422 { |  416 { | 
|  423   DEBUG_GENERAL((L"GetPref: " + name + L" start").c_str()); |  417   DEBUG_GENERAL((L"GetPref: " + name + L" start").c_str()); | 
|  424   Communication::OutputBuffer request; |  418   Communication::OutputBuffer request; | 
|  425   request << Communication::PROC_GET_PREF << ToUtf8String(name); |  419   request << Communication::PROC_GET_PREF << name; | 
|  426  |  420  | 
|  427   Communication::InputBuffer response; |  421   Communication::InputBuffer response; | 
|  428   if (!CallEngine(request, response))  |  422   if (!CallEngine(request, response))  | 
|  429     return defaultValue; |  423     return defaultValue; | 
|  430   bool success; |  424   bool success; | 
|  431   response >> success; |  425   response >> success; | 
|  432   if (success) |  426   if (success) | 
|  433   { |  427   { | 
|  434     std::string value; |  428     std::wstring value; | 
|  435     response >> value; |  429     response >> value; | 
|  436     DEBUG_GENERAL((L"GetPref: " + name + L" end").c_str()); |  430     DEBUG_GENERAL((L"GetPref: " + name + L" end").c_str()); | 
|  437     return ToUtf16String(value); |  431     return value; | 
|  438   } |  432   } | 
|  439   else |  433   else | 
|  440   { |  434   { | 
|  441     DEBUG_GENERAL((L"GetPref: " + name + L" end").c_str()); |  435     DEBUG_GENERAL((L"GetPref: " + name + L" end").c_str()); | 
|  442     return defaultValue; |  436     return defaultValue; | 
|  443   } |  437   } | 
|  444 } |  438 } | 
|  445  |  439  | 
|  446 bool CAdblockPlusClient::GetPref(const std::wstring& name, bool defaultValue) |  440 bool CAdblockPlusClient::GetPref(const std::wstring& name, bool defaultValue) | 
|  447 { |  441 { | 
|  448   DEBUG_GENERAL((L"GetPref: " + name + L" start").c_str()); |  442   DEBUG_GENERAL((L"GetPref: " + name + L" start").c_str()); | 
|  449   Communication::OutputBuffer request; |  443   Communication::OutputBuffer request; | 
|  450   request << Communication::PROC_GET_PREF << ToUtf8String(name); |  444   request << Communication::PROC_GET_PREF << name; | 
|  451  |  445  | 
|  452   Communication::InputBuffer response; |  446   Communication::InputBuffer response; | 
|  453   if (!CallEngine(request, response))  |  447   if (!CallEngine(request, response))  | 
|  454     return defaultValue; |  448     return defaultValue; | 
|  455   bool success; |  449   bool success; | 
|  456   response >> success; |  450   response >> success; | 
|  457   if (success) |  451   if (success) | 
|  458   { |  452   { | 
|  459     bool value; |  453     bool value; | 
|  460     response >> value; |  454     response >> value; | 
|  461     DEBUG_GENERAL((L"GetPref: " + name + L" end").c_str()); |  455     DEBUG_GENERAL((L"GetPref: " + name + L" end").c_str()); | 
|  462     return value; |  456     return value; | 
|  463   } |  457   } | 
|  464   else |  458   else | 
|  465   { |  459   { | 
|  466     DEBUG_GENERAL((L"GetPref: " + name + L" end").c_str()); |  460     DEBUG_GENERAL((L"GetPref: " + name + L" end").c_str()); | 
|  467     return defaultValue; |  461     return defaultValue; | 
|  468   } |  462   } | 
|  469 } |  463 } | 
|  470 int64_t CAdblockPlusClient::GetPref(const std::wstring& name, int64_t defaultVal
     ue) |  464 int64_t CAdblockPlusClient::GetPref(const std::wstring& name, int64_t defaultVal
     ue) | 
|  471 { |  465 { | 
|  472   DEBUG_GENERAL((L"GetPref: " + name + L" start").c_str()); |  466   DEBUG_GENERAL((L"GetPref: " + name + L" start").c_str()); | 
|  473   Communication::OutputBuffer request; |  467   Communication::OutputBuffer request; | 
|  474   request << Communication::PROC_GET_PREF << ToUtf8String(name); |  468   request << Communication::PROC_GET_PREF << name; | 
|  475  |  469  | 
|  476   Communication::InputBuffer response; |  470   Communication::InputBuffer response; | 
|  477   if (!CallEngine(request, response))  |  471   if (!CallEngine(request, response))  | 
|  478     return defaultValue; |  472     return defaultValue; | 
|  479   bool success; |  473   bool success; | 
|  480   response >> success; |  474   response >> success; | 
|  481   if (success) |  475   if (success) | 
|  482   { |  476   { | 
|  483     int64_t value; |  477     int64_t value; | 
|  484     response >> value; |  478     response >> value; | 
| (...skipping 13 matching lines...) Expand all  Loading... | 
|  498   request << Communication::PROC_CHECK_FOR_UPDATES << reinterpret_cast<int32_t>(
     callbackWindow); |  492   request << Communication::PROC_CHECK_FOR_UPDATES << reinterpret_cast<int32_t>(
     callbackWindow); | 
|  499   CallEngine(request); |  493   CallEngine(request); | 
|  500 } |  494 } | 
|  501  |  495  | 
|  502 std::wstring CAdblockPlusClient::GetDocumentationLink() |  496 std::wstring CAdblockPlusClient::GetDocumentationLink() | 
|  503 { |  497 { | 
|  504   DEBUG_GENERAL("GetDocumentationLink"); |  498   DEBUG_GENERAL("GetDocumentationLink"); | 
|  505   Communication::InputBuffer response; |  499   Communication::InputBuffer response; | 
|  506   if (!CallEngine(Communication::PROC_GET_DOCUMENTATION_LINK, response))  |  500   if (!CallEngine(Communication::PROC_GET_DOCUMENTATION_LINK, response))  | 
|  507     return L""; |  501     return L""; | 
|  508   std::string docLink; |  502   std::wstring docLink; | 
|  509   response >> docLink; |  503   response >> docLink; | 
|  510   return ToUtf16String(docLink); |  504   return docLink; | 
|  511 } |  505 } | 
|  512  |  506  | 
|  513 bool CAdblockPlusClient::TogglePluginEnabled() |  507 bool CAdblockPlusClient::TogglePluginEnabled() | 
|  514 { |  508 { | 
|  515   DEBUG_GENERAL("TogglePluginEnabled"); |  509   DEBUG_GENERAL("TogglePluginEnabled"); | 
|  516   Communication::InputBuffer response; |  510   Communication::InputBuffer response; | 
|  517   if (!CallEngine(Communication::PROC_TOGGLE_PLUGIN_ENABLED, response))  |  511   if (!CallEngine(Communication::PROC_TOGGLE_PLUGIN_ENABLED, response))  | 
|  518     return false; |  512     return false; | 
|  519   bool currentEnabledState; |  513   bool currentEnabledState; | 
|  520   response >> currentEnabledState; |  514   response >> currentEnabledState; | 
|  521   return currentEnabledState; |  515   return currentEnabledState; | 
|  522 } |  516 } | 
|  523  |  517  | 
|  524 std::wstring CAdblockPlusClient::GetHostFromUrl(const std::wstring& url) |  518 std::wstring CAdblockPlusClient::GetHostFromUrl(const std::wstring& url) | 
|  525 { |  519 { | 
|  526   DEBUG_GENERAL("GetHostFromUrl"); |  520   DEBUG_GENERAL("GetHostFromUrl"); | 
|  527   Communication::OutputBuffer request; |  521   Communication::OutputBuffer request; | 
|  528   request << Communication::PROC_GET_HOST << ToUtf8String(url); |  522   request << Communication::PROC_GET_HOST << url; | 
|  529  |  523  | 
|  530   Communication::InputBuffer response; |  524   Communication::InputBuffer response; | 
|  531   if (!CallEngine(request, response))  |  525   if (!CallEngine(request, response))  | 
|  532     return L""; |  526     return L""; | 
|  533   std::string host; |  527   std::wstring host; | 
|  534   response >> host; |  528   response >> host; | 
|  535   return ToUtf16String(host); |  529   return host; | 
|  536 } |  530 } | 
|  537  |  531  | 
|  538 int CAdblockPlusClient::CompareVersions(const std::wstring& v1, const std::wstri
     ng& v2) |  532 int CAdblockPlusClient::CompareVersions(const std::wstring& v1, const std::wstri
     ng& v2) | 
|  539 { |  533 { | 
|  540   DEBUG_GENERAL("CompareVersions"); |  534   DEBUG_GENERAL("CompareVersions"); | 
|  541   Communication::OutputBuffer request; |  535   Communication::OutputBuffer request; | 
|  542   request << Communication::PROC_COMPARE_VERSIONS << ToUtf8String(v1) << ToUtf8S
     tring(v2); |  536   request << Communication::PROC_COMPARE_VERSIONS << v1 << v2; | 
|  543   Communication::InputBuffer response; |  537   Communication::InputBuffer response; | 
|  544   if (!CallEngine(request, response)) |  538   if (!CallEngine(request, response)) | 
|  545     return 0; |  539     return 0; | 
|  546   int result; |  540   int result; | 
|  547   response >> result; |  541   response >> result; | 
|  548   return result; |  542   return result; | 
|  549 } |  543 } | 
| OLD | NEW |