summaryrefslogtreecommitdiffstats
path: root/components/wifi/wifi_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'components/wifi/wifi_test.cc')
-rw-r--r--components/wifi/wifi_test.cc48
1 files changed, 37 insertions, 11 deletions
diff --git a/components/wifi/wifi_test.cc b/components/wifi/wifi_test.cc
index eae084f..ff27b0d 100644
--- a/components/wifi/wifi_test.cc
+++ b/components/wifi/wifi_test.cc
@@ -67,10 +67,13 @@ WiFiTest::Result WiFiTest::Main(int argc, const char* argv[]) {
VLOG(0) << "Usage: " << argv[0] <<
" [--list]"
" [--get_properties]"
+ " [--create]"
" [--connect]"
" [--disconnect]"
" [--network_guid=<network_guid>]"
" [--frequency=0|2400|5000]"
+ " [--security=none|WEP-PSK|WPA-PSK|WPA2-PSK]"
+ " [--password=<wifi password>]"
" [<network_guid>]\n";
return RESULT_WRONG_USAGE;
}
@@ -88,6 +91,10 @@ bool WiFiTest::ParseCommandLine(int argc, const char* argv[]) {
parsed_command_line.GetSwitchValueASCII("network_guid");
std::string frequency =
parsed_command_line.GetSwitchValueASCII("frequency");
+ std::string password =
+ parsed_command_line.GetSwitchValueASCII("password");
+ std::string security =
+ parsed_command_line.GetSwitchValueASCII("security");
if (parsed_command_line.GetArgs().size() == 1) {
#if defined(OS_WIN)
@@ -127,26 +134,45 @@ bool WiFiTest::ParseCommandLine(int argc, const char* argv[]) {
}
}
- // Optional properties (frequency, password) to use for connect.
- scoped_ptr<DictionaryValue> connect_properties(new DictionaryValue());
+ // Optional properties (frequency, password) to use for connect or create.
+ scoped_ptr<DictionaryValue> properties(new DictionaryValue());
- if (parsed_command_line.HasSwitch("frequency")) {
+ if (!frequency.empty()) {
int value = 0;
- if (!network_guid.empty() &&
- !frequency.empty() &&
- base::StringToInt(frequency, &value)) {
- connect_properties->SetInteger("WiFi.Frequency", value);
+ if (base::StringToInt(frequency, &value)) {
+ properties->SetInteger("WiFi.Frequency", value);
// fall through to connect.
}
}
+ if (!password.empty())
+ properties->SetString("WiFi.Passphrase", password);
+
+ if (!security.empty())
+ properties->SetString("WiFi.Security", security);
+
+ if (parsed_command_line.HasSwitch("create")) {
+ if (!network_guid.empty()) {
+ std::string error;
+ 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);
+ VLOG(0) << error << ":\n" << new_network_guid;
+ return true;
+ }
+ }
+
if (parsed_command_line.HasSwitch("connect")) {
- if (network_guid.length() > 0) {
+ if (!network_guid.empty()) {
std::string error;
- if (!connect_properties->empty()) {
- VLOG(0) << "Using connect properties: " << *connect_properties;
+ if (!properties->empty()) {
+ VLOG(0) << "Using connect properties: " << *properties;
wifi_service->SetProperties(network_guid,
- connect_properties.Pass(),
+ properties.Pass(),
&error);
}
wifi_service->StartConnect(network_guid, &error);