| Index: components/wifi/wifi_test.cc
|
| diff --git a/components/wifi/wifi_test.cc b/components/wifi/wifi_test.cc
|
| index d88232fab75366456f9a867802d9e7bb6394245f..ac7522bd6372ef943d36837bc8b0e355d963f07a 100644
|
| --- a/components/wifi/wifi_test.cc
|
| +++ b/components/wifi/wifi_test.cc
|
| @@ -13,6 +13,7 @@
|
| #include "base/logging.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/message_loop/message_loop.h"
|
| +#include "base/run_loop.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "base/strings/string_split.h"
|
| #include "base/strings/string_util.h"
|
| @@ -52,11 +53,27 @@ class WiFiTest {
|
| base::MessageLoop::current()->Quit();
|
| }
|
|
|
| + void OnNetworksChanged(
|
| + const WiFiService::NetworkGuidList& network_guid_list) {
|
| + VLOG(0) << "Networks Changed: " << network_guid_list[0];
|
| + base::DictionaryValue properties;
|
| + std::string error;
|
| + wifi_service_->GetProperties(network_guid_list[0], &properties, &error);
|
| + VLOG(0) << error << ":\n" << properties;
|
| + }
|
| +
|
| + void OnNetworkListChanged(
|
| + const WiFiService::NetworkGuidList& network_guid_list) {
|
| + VLOG(0) << "Network List Changed: " << network_guid_list.size();
|
| + }
|
| +
|
| #if defined(OS_MACOSX)
|
| // Without this there will be a mem leak on osx.
|
| base::mac::ScopedNSAutoreleasePool scoped_pool_;
|
| #endif
|
|
|
| + scoped_ptr<WiFiService> wifi_service_;
|
| +
|
| // Need AtExitManager to support AsWeakPtr (in NetLog).
|
| base::AtExitManager exit_manager_;
|
|
|
| @@ -111,17 +128,14 @@ bool WiFiTest::ParseCommandLine(int argc, const char* argv[]) {
|
| MessageBoxA(NULL, __FUNCTION__, "Debug Me!", MB_OK);
|
| #endif
|
|
|
| -#if defined(OS_WIN) || defined(OS_MACOSX)
|
| - scoped_ptr<WiFiService> wifi_service(WiFiService::Create());
|
| -#else
|
| - scoped_ptr<WiFiService> wifi_service(WiFiService::CreateForTest());
|
| -#endif
|
| + base::MessageLoopForIO loop;
|
|
|
| - wifi_service->Initialize(NULL);
|
| + wifi_service_.reset(WiFiService::Create());
|
| + wifi_service_->Initialize(loop.message_loop_proxy());
|
|
|
| if (parsed_command_line.HasSwitch("list")) {
|
| base::ListValue network_list;
|
| - wifi_service->GetVisibleNetworks(std::string(), &network_list);
|
| + wifi_service_->GetVisibleNetworks(std::string(), &network_list);
|
| VLOG(0) << network_list;
|
| return true;
|
| }
|
| @@ -130,7 +144,7 @@ bool WiFiTest::ParseCommandLine(int argc, const char* argv[]) {
|
| if (network_guid.length() > 0) {
|
| base::DictionaryValue properties;
|
| std::string error;
|
| - wifi_service->GetProperties(network_guid, &properties, &error);
|
| + wifi_service_->GetProperties(network_guid, &properties, &error);
|
| VLOG(0) << error << ":\n" << properties;
|
| return true;
|
| }
|
| @@ -159,10 +173,8 @@ bool WiFiTest::ParseCommandLine(int argc, const char* argv[]) {
|
| std::string new_network_guid;
|
| properties->SetString("WiFi.SSID", network_guid);
|
| VLOG(0) << "Creating Network: " << *properties;
|
| - wifi_service->CreateNetwork(false,
|
| - properties.Pass(),
|
| - &new_network_guid,
|
| - &error);
|
| + wifi_service_->CreateNetwork(
|
| + false, properties.Pass(), &new_network_guid, &error);
|
| VLOG(0) << error << ":\n" << new_network_guid;
|
| return true;
|
| }
|
| @@ -173,12 +185,17 @@ bool WiFiTest::ParseCommandLine(int argc, const char* argv[]) {
|
| std::string error;
|
| if (!properties->empty()) {
|
| VLOG(0) << "Using connect properties: " << *properties;
|
| - wifi_service->SetProperties(network_guid,
|
| - properties.Pass(),
|
| - &error);
|
| + wifi_service_->SetProperties(network_guid, properties.Pass(), &error);
|
| }
|
| - wifi_service->StartConnect(network_guid, &error);
|
| +
|
| + wifi_service_->SetEventObservers(
|
| + loop.message_loop_proxy(),
|
| + base::Bind(&WiFiTest::OnNetworksChanged, base::Unretained(this)),
|
| + base::Bind(&WiFiTest::OnNetworkListChanged, base::Unretained(this)));
|
| +
|
| + wifi_service_->StartConnect(network_guid, &error);
|
| VLOG(0) << error;
|
| + base::MessageLoop::current()->Run();
|
| return true;
|
| }
|
| }
|
| @@ -186,7 +203,7 @@ bool WiFiTest::ParseCommandLine(int argc, const char* argv[]) {
|
| if (parsed_command_line.HasSwitch("disconnect")) {
|
| if (network_guid.length() > 0) {
|
| std::string error;
|
| - wifi_service->StartDisconnect(network_guid, &error);
|
| + wifi_service_->StartDisconnect(network_guid, &error);
|
| VLOG(0) << error;
|
| return true;
|
| }
|
| @@ -196,9 +213,7 @@ bool WiFiTest::ParseCommandLine(int argc, const char* argv[]) {
|
| if (network_guid.length() > 0) {
|
| std::string error;
|
| std::string key_data;
|
| - wifi_service->GetKeyFromSystem(network_guid,
|
| - &key_data,
|
| - &error);
|
| + wifi_service_->GetKeyFromSystem(network_guid, &key_data, &error);
|
| VLOG(0) << key_data << error;
|
| return true;
|
| }
|
|
|