OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_CHROMEOS_CROS_NETWORK_LIBRARY_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_CROS_NETWORK_LIBRARY_H_ |
6 #define CHROME_BROWSER_CHROMEOS_CROS_NETWORK_LIBRARY_H_ | 6 #define CHROME_BROWSER_CHROMEOS_CROS_NETWORK_LIBRARY_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <map> | 9 #include <map> |
10 #include <string> | 10 #include <string> |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 PROPERTY_INDEX_FIRMWARE_REVISION, | 83 PROPERTY_INDEX_FIRMWARE_REVISION, |
84 PROPERTY_INDEX_FOUND_NETWORKS, | 84 PROPERTY_INDEX_FOUND_NETWORKS, |
85 PROPERTY_INDEX_GUID, | 85 PROPERTY_INDEX_GUID, |
86 PROPERTY_INDEX_HARDWARE_REVISION, | 86 PROPERTY_INDEX_HARDWARE_REVISION, |
87 PROPERTY_INDEX_HIDDEN_SSID, | 87 PROPERTY_INDEX_HIDDEN_SSID, |
88 PROPERTY_INDEX_HOME_PROVIDER, | 88 PROPERTY_INDEX_HOME_PROVIDER, |
89 PROPERTY_INDEX_HOST, | 89 PROPERTY_INDEX_HOST, |
90 PROPERTY_INDEX_IDENTITY, | 90 PROPERTY_INDEX_IDENTITY, |
91 PROPERTY_INDEX_IMEI, | 91 PROPERTY_INDEX_IMEI, |
92 PROPERTY_INDEX_IMSI, | 92 PROPERTY_INDEX_IMSI, |
| 93 PROPERTY_INDEX_IPSEC_AUTHENTICATIONTYPE, |
| 94 PROPERTY_INDEX_IPSEC_IKEVERSION, |
93 PROPERTY_INDEX_IS_ACTIVE, | 95 PROPERTY_INDEX_IS_ACTIVE, |
94 PROPERTY_INDEX_L2TPIPSEC_CA_CERT_NSS, | 96 PROPERTY_INDEX_L2TPIPSEC_CA_CERT_NSS, |
95 PROPERTY_INDEX_L2TPIPSEC_CLIENT_CERT_ID, | 97 PROPERTY_INDEX_L2TPIPSEC_CLIENT_CERT_ID, |
96 PROPERTY_INDEX_L2TPIPSEC_CLIENT_CERT_SLOT, | 98 PROPERTY_INDEX_L2TPIPSEC_CLIENT_CERT_SLOT, |
97 PROPERTY_INDEX_L2TPIPSEC_PASSWORD, | 99 PROPERTY_INDEX_L2TPIPSEC_PASSWORD, |
98 PROPERTY_INDEX_L2TPIPSEC_PIN, | 100 PROPERTY_INDEX_L2TPIPSEC_PIN, |
99 PROPERTY_INDEX_L2TPIPSEC_PSK, | 101 PROPERTY_INDEX_L2TPIPSEC_PSK, |
100 PROPERTY_INDEX_L2TPIPSEC_USER, | 102 PROPERTY_INDEX_L2TPIPSEC_USER, |
101 PROPERTY_INDEX_L2TPIPSEC_GROUP_NAME, | 103 PROPERTY_INDEX_L2TPIPSEC_GROUP_NAME, |
102 PROPERTY_INDEX_MANUFACTURER, | 104 PROPERTY_INDEX_MANUFACTURER, |
103 PROPERTY_INDEX_MDN, | 105 PROPERTY_INDEX_MDN, |
104 PROPERTY_INDEX_MEID, | 106 PROPERTY_INDEX_MEID, |
105 PROPERTY_INDEX_MIN, | 107 PROPERTY_INDEX_MIN, |
106 PROPERTY_INDEX_MODE, | 108 PROPERTY_INDEX_MODE, |
107 PROPERTY_INDEX_MODEL_ID, | 109 PROPERTY_INDEX_MODEL_ID, |
108 PROPERTY_INDEX_NAME, | 110 PROPERTY_INDEX_NAME, |
109 PROPERTY_INDEX_NETWORKS, | 111 PROPERTY_INDEX_NETWORKS, |
110 PROPERTY_INDEX_NETWORK_TECHNOLOGY, | 112 PROPERTY_INDEX_NETWORK_TECHNOLOGY, |
111 PROPERTY_INDEX_OFFLINE_MODE, | 113 PROPERTY_INDEX_OFFLINE_MODE, |
| 114 PROPERTY_INDEX_OLP, |
| 115 PROPERTY_INDEX_ONC_CLIENT_CERT_PATTERN, // Used internally for ONC parsing |
| 116 PROPERTY_INDEX_ONC_CLIENT_CERT_REF, // Used internally for ONC parsing |
| 117 PROPERTY_INDEX_ONC_CLIENT_CERT_TYPE, // Used internally for ONC parsing |
| 118 PROPERTY_INDEX_ONC_IPSEC, // Used internally for ONC parsing |
| 119 PROPERTY_INDEX_ONC_L2TP, // Used internally for ONC parsing |
| 120 PROPERTY_INDEX_ONC_OPENVPN, // Used internally for ONC parsing |
| 121 PROPERTY_INDEX_ONC_REMOVE, // Used internally for ONC parsing |
| 122 PROPERTY_INDEX_ONC_WIFI, // Used internally for ONC parsing |
| 123 PROPERTY_INDEX_ONC_VPN, // Used internally for ONC parsing |
| 124 PROPERTY_INDEX_OPEN_VPN_AUTH, |
| 125 PROPERTY_INDEX_OPEN_VPN_AUTHRETRY, |
| 126 PROPERTY_INDEX_OPEN_VPN_AUTHNOCACHE, |
| 127 PROPERTY_INDEX_OPEN_VPN_CACERT, |
| 128 PROPERTY_INDEX_OPEN_VPN_CERT, |
| 129 PROPERTY_INDEX_OPEN_VPN_CIPHER, |
| 130 PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_ID, |
| 131 PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_SLOT, |
| 132 PROPERTY_INDEX_OPEN_VPN_COMPLZO, |
| 133 PROPERTY_INDEX_OPEN_VPN_COMPNOADAPT, |
| 134 PROPERTY_INDEX_OPEN_VPN_KEYDIRECTION, |
| 135 PROPERTY_INDEX_OPEN_VPN_NSCERTTYPE, |
| 136 PROPERTY_INDEX_OPEN_VPN_OTP, |
| 137 PROPERTY_INDEX_OPEN_VPN_PASSWORD, |
| 138 PROPERTY_INDEX_OPEN_VPN_PIN, |
| 139 PROPERTY_INDEX_OPEN_VPN_PORT, |
| 140 PROPERTY_INDEX_OPEN_VPN_PROTO, |
| 141 PROPERTY_INDEX_OPEN_VPN_PKCS11_PROVIDER, |
| 142 PROPERTY_INDEX_OPEN_VPN_PUSHPEERINFO, |
| 143 PROPERTY_INDEX_OPEN_VPN_REMOTECERTEKU, |
| 144 PROPERTY_INDEX_OPEN_VPN_REMOTECERTKU, |
| 145 PROPERTY_INDEX_OPEN_VPN_REMOTECERTTLS, |
| 146 PROPERTY_INDEX_OPEN_VPN_RENEGSEC, |
| 147 PROPERTY_INDEX_OPEN_VPN_SERVERPOLLTIMEOUT, |
| 148 PROPERTY_INDEX_OPEN_VPN_SHAPER, |
| 149 PROPERTY_INDEX_OPEN_VPN_STATICCHALLENGE, |
| 150 PROPERTY_INDEX_OPEN_VPN_TLSAUTHCONTENTS, |
| 151 PROPERTY_INDEX_OPEN_VPN_TLSREMOTE, |
| 152 PROPERTY_INDEX_OPEN_VPN_USER, |
112 PROPERTY_INDEX_OPERATOR_CODE, | 153 PROPERTY_INDEX_OPERATOR_CODE, |
113 PROPERTY_INDEX_OPERATOR_NAME, | 154 PROPERTY_INDEX_OPERATOR_NAME, |
114 PROPERTY_INDEX_PASSPHRASE, | 155 PROPERTY_INDEX_PASSPHRASE, |
115 PROPERTY_INDEX_PASSPHRASE_REQUIRED, | 156 PROPERTY_INDEX_PASSPHRASE_REQUIRED, |
116 PROPERTY_INDEX_PORTAL_URL, | 157 PROPERTY_INDEX_PORTAL_URL, |
117 PROPERTY_INDEX_POWERED, | 158 PROPERTY_INDEX_POWERED, |
118 PROPERTY_INDEX_PRIORITY, | 159 PROPERTY_INDEX_PRIORITY, |
| 160 PROPERTY_INDEX_PROVIDER_TYPE, |
119 PROPERTY_INDEX_PRL_VERSION, | 161 PROPERTY_INDEX_PRL_VERSION, |
120 PROPERTY_INDEX_PROFILE, | 162 PROPERTY_INDEX_PROFILE, |
121 PROPERTY_INDEX_PROFILES, | 163 PROPERTY_INDEX_PROFILES, |
122 PROPERTY_INDEX_PROVIDER, | 164 PROPERTY_INDEX_PROVIDER, |
123 PROPERTY_INDEX_PROXY_CONFIG, | 165 PROPERTY_INDEX_PROXY_CONFIG, |
124 PROPERTY_INDEX_REMOVE, | |
125 PROPERTY_INDEX_ROAMING_STATE, | 166 PROPERTY_INDEX_ROAMING_STATE, |
126 PROPERTY_INDEX_SAVE_CREDENTIALS, | 167 PROPERTY_INDEX_SAVE_CREDENTIALS, |
127 PROPERTY_INDEX_SCANNING, | 168 PROPERTY_INDEX_SCANNING, |
128 PROPERTY_INDEX_SECURITY, | 169 PROPERTY_INDEX_SECURITY, |
129 PROPERTY_INDEX_SELECTED_NETWORK, | 170 PROPERTY_INDEX_SELECTED_NETWORK, |
130 PROPERTY_INDEX_SERVICES, | 171 PROPERTY_INDEX_SERVICES, |
131 PROPERTY_INDEX_SERVICE_WATCH_LIST, | 172 PROPERTY_INDEX_SERVICE_WATCH_LIST, |
132 PROPERTY_INDEX_SERVING_OPERATOR, | 173 PROPERTY_INDEX_SERVING_OPERATOR, |
133 PROPERTY_INDEX_SIGNAL_STRENGTH, | 174 PROPERTY_INDEX_SIGNAL_STRENGTH, |
134 PROPERTY_INDEX_SIM_LOCK, | 175 PROPERTY_INDEX_SIM_LOCK, |
135 PROPERTY_INDEX_SSID, | 176 PROPERTY_INDEX_SSID, |
136 PROPERTY_INDEX_STATE, | 177 PROPERTY_INDEX_STATE, |
137 PROPERTY_INDEX_SUPPORT_NETWORK_SCAN, | 178 PROPERTY_INDEX_SUPPORT_NETWORK_SCAN, |
138 PROPERTY_INDEX_TECHNOLOGY_FAMILY, | 179 PROPERTY_INDEX_TECHNOLOGY_FAMILY, |
139 PROPERTY_INDEX_TYPE, | 180 PROPERTY_INDEX_TYPE, |
140 PROPERTY_INDEX_UI_DATA, | 181 PROPERTY_INDEX_UI_DATA, |
141 PROPERTY_INDEX_UNKNOWN, | 182 PROPERTY_INDEX_UNKNOWN, |
142 PROPERTY_INDEX_USAGE_URL, | 183 PROPERTY_INDEX_USAGE_URL, |
143 PROPERTY_INDEX_OLP, | 184 PROPERTY_INDEX_VPN_DOMAIN, |
144 PROPERTY_INDEX_OPEN_VPN_USER, | |
145 PROPERTY_INDEX_OPEN_VPN_PASSWORD, | |
146 PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_ID, | |
147 PROPERTY_INDEX_WIFI_AUTH_MODE, | 185 PROPERTY_INDEX_WIFI_AUTH_MODE, |
148 PROPERTY_INDEX_WIFI_FREQUENCY, | 186 PROPERTY_INDEX_WIFI_FREQUENCY, |
149 PROPERTY_INDEX_WIFI_HEX_SSID, | 187 PROPERTY_INDEX_WIFI_HEX_SSID, |
150 PROPERTY_INDEX_WIFI_HIDDEN_SSID, | 188 PROPERTY_INDEX_WIFI_HIDDEN_SSID, |
151 PROPERTY_INDEX_WIFI_PHY_MODE, | 189 PROPERTY_INDEX_WIFI_PHY_MODE |
152 }; | 190 }; |
153 | 191 |
154 // Connection enums (see flimflam/include/service.h) | 192 // Connection enums (see flimflam/include/service.h) |
155 enum ConnectionType { | 193 enum ConnectionType { |
156 TYPE_UNKNOWN = 0, | 194 TYPE_UNKNOWN = 0, |
157 TYPE_ETHERNET = 1, | 195 TYPE_ETHERNET = 1, |
158 TYPE_WIFI = 2, | 196 TYPE_WIFI = 2, |
159 TYPE_WIMAX = 3, | 197 TYPE_WIMAX = 3, |
160 TYPE_BLUETOOTH = 4, | 198 TYPE_BLUETOOTH = 4, |
161 TYPE_CELLULAR = 5, | 199 TYPE_CELLULAR = 5, |
(...skipping 499 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
661 state == STATE_IDLE || | 699 state == STATE_IDLE || |
662 state == STATE_DISCONNECT || | 700 state == STATE_DISCONNECT || |
663 state == STATE_FAILURE || | 701 state == STATE_FAILURE || |
664 state == STATE_ACTIVATION_FAILURE); | 702 state == STATE_ACTIVATION_FAILURE); |
665 } | 703 } |
666 | 704 |
667 virtual bool UpdateStatus(const std::string& key, | 705 virtual bool UpdateStatus(const std::string& key, |
668 const base::Value& value, | 706 const base::Value& value, |
669 PropertyIndex* index); | 707 PropertyIndex* index); |
670 | 708 |
| 709 // Retrieves a property from the property_map_. If |value| is NULL, |
| 710 // just returns whether or not the given property was found. |
| 711 bool GetProperty(PropertyIndex index, const base::Value** value) const; |
| 712 |
671 protected: | 713 protected: |
672 Network(const std::string& service_path, | 714 Network(const std::string& service_path, |
673 ConnectionType type); | 715 ConnectionType type); |
674 | 716 |
675 NetworkParser* network_parser() { return network_parser_.get(); } | 717 NetworkParser* network_parser() { return network_parser_.get(); } |
676 void SetNetworkParser(NetworkParser* parser); | 718 void SetNetworkParser(NetworkParser* parser); |
677 | 719 |
678 // Updates property_map_ for the corresponding property index. | 720 // Updates property_map_ for the corresponding property index. |
679 void UpdatePropertyMap(PropertyIndex index, const base::Value& value); | 721 void UpdatePropertyMap(PropertyIndex index, const base::Value& value); |
680 | 722 |
(...skipping 30 matching lines...) Expand all Loading... |
711 | 753 |
712 // This allows NetworkParser and its subclasses access to device | 754 // This allows NetworkParser and its subclasses access to device |
713 // privates so that they can be reconstituted during parsing. The | 755 // privates so that they can be reconstituted during parsing. The |
714 // parsers only access things through the private set_ functions so | 756 // parsers only access things through the private set_ functions so |
715 // that this class can evolve without having to change all the | 757 // that this class can evolve without having to change all the |
716 // parsers. | 758 // parsers. |
717 friend class NetworkParser; | 759 friend class NetworkParser; |
718 friend class NativeNetworkParser; | 760 friend class NativeNetworkParser; |
719 friend class NativeVirtualNetworkParser; | 761 friend class NativeVirtualNetworkParser; |
720 friend class OncNetworkParser; | 762 friend class OncNetworkParser; |
| 763 friend class OncWifiNetworkParser; |
721 friend class OncVirtualNetworkParser; | 764 friend class OncVirtualNetworkParser; |
722 | 765 |
723 // This allows the implementation classes access to privates. | 766 // This allows the implementation classes access to privates. |
724 NETWORK_LIBRARY_IMPL_FRIENDS; | 767 NETWORK_LIBRARY_IMPL_FRIENDS; |
725 | 768 |
726 // Use these functions at your peril. They are used by the various | 769 // Use these functions at your peril. They are used by the various |
727 // parsers to set state, and really shouldn't be used by anything else | 770 // parsers to set state, and really shouldn't be used by anything else |
728 // because they don't do the error checking and sending to the | 771 // because they don't do the error checking and sending to the |
729 // network layer that the other setters do. | 772 // network layer that the other setters do. |
730 void set_device_path(const std::string& device_path) { | 773 void set_device_path(const std::string& device_path) { |
(...skipping 1021 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1752 const std::string& service_path) = 0; | 1795 const std::string& service_path) = 0; |
1753 | 1796 |
1754 // Factory function, creates a new instance and returns ownership. | 1797 // Factory function, creates a new instance and returns ownership. |
1755 // For normal usage, access the singleton via CrosLibrary::Get(). | 1798 // For normal usage, access the singleton via CrosLibrary::Get(). |
1756 static NetworkLibrary* GetImpl(bool stub); | 1799 static NetworkLibrary* GetImpl(bool stub); |
1757 }; | 1800 }; |
1758 | 1801 |
1759 } // namespace chromeos | 1802 } // namespace chromeos |
1760 | 1803 |
1761 #endif // CHROME_BROWSER_CHROMEOS_CROS_NETWORK_LIBRARY_H_ | 1804 #endif // CHROME_BROWSER_CHROMEOS_CROS_NETWORK_LIBRARY_H_ |
OLD | NEW |