blob: 5d63fb22351b64f757e68a1edf0f4a3b43c2e19b [file] [log] [blame]
Sen Jiang255e22b2016-05-20 16:15:29 -07001//
2// Copyright (C) 2016 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
Amin Hassaniec7bc112020-10-29 16:47:58 -070017#ifndef UPDATE_ENGINE_COMMON_CONNECTION_UTILS_H_
18#define UPDATE_ENGINE_COMMON_CONNECTION_UTILS_H_
Sen Jiang255e22b2016-05-20 16:15:29 -070019
20#include <string>
21
22namespace chromeos_update_engine {
23
24enum class ConnectionType {
Colin Howesc9e98d62018-09-18 10:35:20 -070025 kDisconnected,
Sen Jiang255e22b2016-05-20 16:15:29 -070026 kEthernet,
27 kWifi,
Sen Jiang255e22b2016-05-20 16:15:29 -070028 kCellular,
29 kUnknown
30};
31
32enum class ConnectionTethering {
33 kNotDetected,
34 kSuspected,
35 kConfirmed,
36 kUnknown,
37};
38
39namespace connection_utils {
40// Helper methods for converting shill strings into symbolic values.
41ConnectionType ParseConnectionType(const std::string& type_str);
42ConnectionTethering ParseConnectionTethering(const std::string& tethering_str);
43
44// Returns the string representation corresponding to the given connection type.
45const char* StringForConnectionType(ConnectionType type);
46} // namespace connection_utils
47
48} // namespace chromeos_update_engine
49
Amin Hassaniec7bc112020-10-29 16:47:58 -070050#endif // UPDATE_ENGINE_COMMON_CONNECTION_UTILS_H_