Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / chromeos / network / network_ip_config.cc
blob370a0296e8faf0a81b83f38cdb5fba9b81bf4dd6
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chromeos/network/network_ip_config.h"
7 #include "base/logging.h"
9 namespace chromeos {
11 namespace {
12 #define ENUM_CASE(x) case x: return std::string(#x)
13 std::string IPConfigTypeAsString(IPConfigType type) {
14 switch (type) {
15 ENUM_CASE(IPCONFIG_TYPE_UNKNOWN);
16 ENUM_CASE(IPCONFIG_TYPE_IPV4);
17 ENUM_CASE(IPCONFIG_TYPE_IPV6);
18 ENUM_CASE(IPCONFIG_TYPE_DHCP);
19 ENUM_CASE(IPCONFIG_TYPE_BOOTP);
20 ENUM_CASE(IPCONFIG_TYPE_ZEROCONF);
21 ENUM_CASE(IPCONFIG_TYPE_DHCP6);
22 ENUM_CASE(IPCONFIG_TYPE_PPP);
24 NOTREACHED() << "Unhandled enum value " << type;
25 return std::string();
27 #undef ENUM_CASE
28 } // namespace
30 NetworkIPConfig::NetworkIPConfig(
31 const std::string& device_path, IPConfigType type,
32 const std::string& address, const std::string& netmask,
33 const std::string& gateway, const std::string& name_servers)
34 : device_path(device_path),
35 type(type),
36 address(address),
37 netmask(netmask),
38 gateway(gateway),
39 name_servers(name_servers) {
42 NetworkIPConfig::~NetworkIPConfig() {}
44 std::string NetworkIPConfig::ToString() const {
45 return std::string("path: ") + device_path
46 + " type: " + IPConfigTypeAsString(type)
47 + " address: " + address
48 + " netmask: " + netmask
49 + " gateway: " + gateway
50 + " name_servers: " + name_servers;
53 } // namespace chromeos