blob: 2fa6c6c6d775b53774b357cb3b291bca7b43a65d [file] [log] [blame]
Paul Stewartfdd16072011-09-16 12:41:35 -07001// Copyright (c) 2011 The Chromium OS 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.
4
5#ifndef SHILL_TECHNOLOGY_
6#define SHILL_TECHNOLOGY_
7
8#include <string>
9
10namespace shill {
11
12class Technology {
13 public:
14 enum Identifier {
15 kEthernet,
16 kWifi,
Paul Stewart2001a422011-12-15 10:20:09 -080017 kWiFiMonitor,
Paul Stewartfdd16072011-09-16 12:41:35 -070018 kCellular,
19 kBlacklisted,
20 kUnknown,
Paul Stewartfdd16072011-09-16 12:41:35 -070021 };
22
23 static Identifier IdentifierFromName(const std::string &name);
24 static std::string NameFromIdentifier(Identifier id);
Paul Stewart1b253142012-01-26 14:05:52 -080025 static Identifier IdentifierFromStorageGroup(const std::string &group);
Paul Stewartfdd16072011-09-16 12:41:35 -070026
27 private:
28 static const char kUnknownName[];
29};
30
31} // namespace shill
32
33#endif // SHILL_TECHNOLOGY_