blob: f4a95a1955e8138ade97ce32c22281ed37fcac5e [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/notreached.h"
#include "base/strings/string_number_conversions.h"
#include "chromeos/components/sync_wifi/network_identifier.h"
#include "components/sync/protocol/wifi_configuration_specifics.pb.h"
#include "third_party/cros_system_api/dbus/shill/dbus-constants.h"
namespace chromeos {
namespace sync_wifi {
NetworkIdentifier GeneratePskNetworkId(const std::string& ssid) {
return NetworkIdentifier(base::HexEncode(ssid.data(), ssid.size()),
shill::kSecurityPsk);
}
sync_pb::WifiConfigurationSpecifics GenerateTestWifiSpecifics(
const NetworkIdentifier& id,
const std::string& passphrase = "passphrase",
double timestamp = 1) {
sync_pb::WifiConfigurationSpecifics specifics;
specifics.set_hex_ssid(id.hex_ssid());
if (id.security_type() == shill::kSecurityPsk) {
specifics.set_security_type(
sync_pb::WifiConfigurationSpecifics::SECURITY_TYPE_PSK);
} else if (id.security_type() == shill::kSecurityWep) {
specifics.set_security_type(
sync_pb::WifiConfigurationSpecifics::SECURITY_TYPE_WEP);
} else {
NOTREACHED();
}
specifics.set_passphrase(passphrase);
specifics.set_last_connected_timestamp(timestamp);
specifics.set_automatically_connect(
sync_pb::WifiConfigurationSpecifics::AUTOMATICALLY_CONNECT_ENABLED);
specifics.set_is_preferred(
sync_pb::WifiConfigurationSpecifics::IS_PREFERRED_ENABLED);
specifics.set_metered(
sync_pb::WifiConfigurationSpecifics::METERED_OPTION_AUTO);
specifics.mutable_proxy_configuration()->set_proxy_option(
sync_pb::WifiConfigurationSpecifics::ProxyConfiguration::
PROXY_OPTION_DISABLED);
return specifics;
}
} // namespace sync_wifi
} // namespace chromeos