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, | |
95 PROPERTY_INDEX_IS_ACTIVE, | 93 PROPERTY_INDEX_IS_ACTIVE, |
96 PROPERTY_INDEX_L2TPIPSEC_CA_CERT_NSS, | 94 PROPERTY_INDEX_L2TPIPSEC_CA_CERT_NSS, |
97 PROPERTY_INDEX_L2TPIPSEC_CLIENT_CERT_ID, | 95 PROPERTY_INDEX_L2TPIPSEC_CLIENT_CERT_ID, |
98 PROPERTY_INDEX_L2TPIPSEC_CLIENT_CERT_SLOT, | 96 PROPERTY_INDEX_L2TPIPSEC_CLIENT_CERT_SLOT, |
99 PROPERTY_INDEX_L2TPIPSEC_PASSWORD, | 97 PROPERTY_INDEX_L2TPIPSEC_PASSWORD, |
100 PROPERTY_INDEX_L2TPIPSEC_PIN, | 98 PROPERTY_INDEX_L2TPIPSEC_PIN, |
101 PROPERTY_INDEX_L2TPIPSEC_PSK, | 99 PROPERTY_INDEX_L2TPIPSEC_PSK, |
102 PROPERTY_INDEX_L2TPIPSEC_USER, | 100 PROPERTY_INDEX_L2TPIPSEC_USER, |
103 PROPERTY_INDEX_L2TPIPSEC_GROUP_NAME, | 101 PROPERTY_INDEX_L2TPIPSEC_GROUP_NAME, |
104 PROPERTY_INDEX_MANUFACTURER, | 102 PROPERTY_INDEX_MANUFACTURER, |
105 PROPERTY_INDEX_MDN, | 103 PROPERTY_INDEX_MDN, |
106 PROPERTY_INDEX_MEID, | 104 PROPERTY_INDEX_MEID, |
107 PROPERTY_INDEX_MIN, | 105 PROPERTY_INDEX_MIN, |
108 PROPERTY_INDEX_MODE, | 106 PROPERTY_INDEX_MODE, |
109 PROPERTY_INDEX_MODEL_ID, | 107 PROPERTY_INDEX_MODEL_ID, |
110 PROPERTY_INDEX_NAME, | 108 PROPERTY_INDEX_NAME, |
111 PROPERTY_INDEX_NETWORKS, | 109 PROPERTY_INDEX_NETWORKS, |
112 PROPERTY_INDEX_NETWORK_TECHNOLOGY, | 110 PROPERTY_INDEX_NETWORK_TECHNOLOGY, |
113 PROPERTY_INDEX_OFFLINE_MODE, | 111 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_AUTHUSERPASS, | |
128 PROPERTY_INDEX_OPEN_VPN_CACERT, | |
129 PROPERTY_INDEX_OPEN_VPN_CERT, | |
130 PROPERTY_INDEX_OPEN_VPN_CIPHER, | |
131 PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_ID, | |
132 PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_SLOT, | |
133 PROPERTY_INDEX_OPEN_VPN_COMPLZO, | |
134 PROPERTY_INDEX_OPEN_VPN_COMPNOADAPT, | |
135 PROPERTY_INDEX_OPEN_VPN_KEYDIRECTION, | |
136 PROPERTY_INDEX_OPEN_VPN_MGMT_ENABLE, | |
137 PROPERTY_INDEX_OPEN_VPN_NSCERTTYPE, | |
138 PROPERTY_INDEX_OPEN_VPN_OTP, | |
139 PROPERTY_INDEX_OPEN_VPN_PASSWORD, | |
140 PROPERTY_INDEX_OPEN_VPN_PIN, | |
141 PROPERTY_INDEX_OPEN_VPN_PORT, | |
142 PROPERTY_INDEX_OPEN_VPN_PROTO, | |
143 PROPERTY_INDEX_OPEN_VPN_PKCS11_PROVIDER, | |
144 PROPERTY_INDEX_OPEN_VPN_PUSHPEERINFO, | |
145 PROPERTY_INDEX_OPEN_VPN_REMOTECERTEKU, | |
146 PROPERTY_INDEX_OPEN_VPN_REMOTECERTKU, | |
147 PROPERTY_INDEX_OPEN_VPN_REMOTECERTTLS, | |
148 PROPERTY_INDEX_OPEN_VPN_RENEGSEC, | |
149 PROPERTY_INDEX_OPEN_VPN_SERVERPOLLTIMEOUT, | |
150 PROPERTY_INDEX_OPEN_VPN_SHAPER, | |
151 PROPERTY_INDEX_OPEN_VPN_STATICCHALLENGE, | |
152 PROPERTY_INDEX_OPEN_VPN_TLSAUTHCONTENTS, | |
153 PROPERTY_INDEX_OPEN_VPN_TLSREMOTE, | |
154 PROPERTY_INDEX_OPEN_VPN_USER, | |
155 PROPERTY_INDEX_OPERATOR_CODE, | 112 PROPERTY_INDEX_OPERATOR_CODE, |
156 PROPERTY_INDEX_OPERATOR_NAME, | 113 PROPERTY_INDEX_OPERATOR_NAME, |
157 PROPERTY_INDEX_PASSPHRASE, | 114 PROPERTY_INDEX_PASSPHRASE, |
158 PROPERTY_INDEX_PASSPHRASE_REQUIRED, | 115 PROPERTY_INDEX_PASSPHRASE_REQUIRED, |
159 PROPERTY_INDEX_PORTAL_URL, | 116 PROPERTY_INDEX_PORTAL_URL, |
160 PROPERTY_INDEX_POWERED, | 117 PROPERTY_INDEX_POWERED, |
161 PROPERTY_INDEX_PRIORITY, | 118 PROPERTY_INDEX_PRIORITY, |
162 PROPERTY_INDEX_PROVIDER_HOST, | |
163 PROPERTY_INDEX_PROVIDER_TYPE, | |
164 PROPERTY_INDEX_PRL_VERSION, | 119 PROPERTY_INDEX_PRL_VERSION, |
165 PROPERTY_INDEX_PROFILE, | 120 PROPERTY_INDEX_PROFILE, |
166 PROPERTY_INDEX_PROFILES, | 121 PROPERTY_INDEX_PROFILES, |
167 PROPERTY_INDEX_PROVIDER, | 122 PROPERTY_INDEX_PROVIDER, |
168 PROPERTY_INDEX_PROXY_CONFIG, | 123 PROPERTY_INDEX_PROXY_CONFIG, |
| 124 PROPERTY_INDEX_REMOVE, |
169 PROPERTY_INDEX_ROAMING_STATE, | 125 PROPERTY_INDEX_ROAMING_STATE, |
170 PROPERTY_INDEX_SAVE_CREDENTIALS, | 126 PROPERTY_INDEX_SAVE_CREDENTIALS, |
171 PROPERTY_INDEX_SCANNING, | 127 PROPERTY_INDEX_SCANNING, |
172 PROPERTY_INDEX_SECURITY, | 128 PROPERTY_INDEX_SECURITY, |
173 PROPERTY_INDEX_SELECTED_NETWORK, | 129 PROPERTY_INDEX_SELECTED_NETWORK, |
174 PROPERTY_INDEX_SERVICES, | 130 PROPERTY_INDEX_SERVICES, |
175 PROPERTY_INDEX_SERVICE_WATCH_LIST, | 131 PROPERTY_INDEX_SERVICE_WATCH_LIST, |
176 PROPERTY_INDEX_SERVING_OPERATOR, | 132 PROPERTY_INDEX_SERVING_OPERATOR, |
177 PROPERTY_INDEX_SIGNAL_STRENGTH, | 133 PROPERTY_INDEX_SIGNAL_STRENGTH, |
178 PROPERTY_INDEX_SIM_LOCK, | 134 PROPERTY_INDEX_SIM_LOCK, |
179 PROPERTY_INDEX_SSID, | 135 PROPERTY_INDEX_SSID, |
180 PROPERTY_INDEX_STATE, | 136 PROPERTY_INDEX_STATE, |
181 PROPERTY_INDEX_SUPPORT_NETWORK_SCAN, | 137 PROPERTY_INDEX_SUPPORT_NETWORK_SCAN, |
182 PROPERTY_INDEX_TECHNOLOGY_FAMILY, | 138 PROPERTY_INDEX_TECHNOLOGY_FAMILY, |
183 PROPERTY_INDEX_TYPE, | 139 PROPERTY_INDEX_TYPE, |
184 PROPERTY_INDEX_UI_DATA, | 140 PROPERTY_INDEX_UI_DATA, |
185 PROPERTY_INDEX_UNKNOWN, | 141 PROPERTY_INDEX_UNKNOWN, |
186 PROPERTY_INDEX_USAGE_URL, | 142 PROPERTY_INDEX_USAGE_URL, |
187 PROPERTY_INDEX_VPN_DOMAIN, | 143 PROPERTY_INDEX_OLP, |
| 144 PROPERTY_INDEX_OPEN_VPN_USER, |
| 145 PROPERTY_INDEX_OPEN_VPN_PASSWORD, |
| 146 PROPERTY_INDEX_OPEN_VPN_CLIENT_CERT_ID, |
188 PROPERTY_INDEX_WIFI_AUTH_MODE, | 147 PROPERTY_INDEX_WIFI_AUTH_MODE, |
189 PROPERTY_INDEX_WIFI_FREQUENCY, | 148 PROPERTY_INDEX_WIFI_FREQUENCY, |
190 PROPERTY_INDEX_WIFI_HEX_SSID, | 149 PROPERTY_INDEX_WIFI_HEX_SSID, |
191 PROPERTY_INDEX_WIFI_HIDDEN_SSID, | 150 PROPERTY_INDEX_WIFI_HIDDEN_SSID, |
192 PROPERTY_INDEX_WIFI_PHY_MODE | 151 PROPERTY_INDEX_WIFI_PHY_MODE, |
193 }; | 152 }; |
194 | 153 |
195 // Connection enums (see flimflam/include/service.h) | 154 // Connection enums (see flimflam/include/service.h) |
196 enum ConnectionType { | 155 enum ConnectionType { |
197 TYPE_UNKNOWN = 0, | 156 TYPE_UNKNOWN = 0, |
198 TYPE_ETHERNET = 1, | 157 TYPE_ETHERNET = 1, |
199 TYPE_WIFI = 2, | 158 TYPE_WIFI = 2, |
200 TYPE_WIMAX = 3, | 159 TYPE_WIMAX = 3, |
201 TYPE_BLUETOOTH = 4, | 160 TYPE_BLUETOOTH = 4, |
202 TYPE_CELLULAR = 5, | 161 TYPE_CELLULAR = 5, |
(...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
705 state == STATE_IDLE || | 664 state == STATE_IDLE || |
706 state == STATE_DISCONNECT || | 665 state == STATE_DISCONNECT || |
707 state == STATE_FAILURE || | 666 state == STATE_FAILURE || |
708 state == STATE_ACTIVATION_FAILURE); | 667 state == STATE_ACTIVATION_FAILURE); |
709 } | 668 } |
710 | 669 |
711 virtual bool UpdateStatus(const std::string& key, | 670 virtual bool UpdateStatus(const std::string& key, |
712 const base::Value& value, | 671 const base::Value& value, |
713 PropertyIndex* index); | 672 PropertyIndex* index); |
714 | 673 |
715 // Retrieves a property from the property_map_. If |value| is NULL, | |
716 // just returns whether or not the given property was found. | |
717 bool GetProperty(PropertyIndex index, const base::Value** value) const; | |
718 | |
719 protected: | 674 protected: |
720 Network(const std::string& service_path, | 675 Network(const std::string& service_path, |
721 ConnectionType type); | 676 ConnectionType type); |
722 | 677 |
723 NetworkParser* network_parser() { return network_parser_.get(); } | 678 NetworkParser* network_parser() { return network_parser_.get(); } |
724 void SetNetworkParser(NetworkParser* parser); | 679 void SetNetworkParser(NetworkParser* parser); |
725 | 680 |
726 // Updates property_map_ for the corresponding property index. | 681 // Updates property_map_ for the corresponding property index. |
727 void UpdatePropertyMap(PropertyIndex index, const base::Value& value); | 682 void UpdatePropertyMap(PropertyIndex index, const base::Value& value); |
728 | 683 |
(...skipping 29 matching lines...) Expand all Loading... |
758 | 713 |
759 // This allows NetworkParser and its subclasses access to device | 714 // This allows NetworkParser and its subclasses access to device |
760 // privates so that they can be reconstituted during parsing. The | 715 // privates so that they can be reconstituted during parsing. The |
761 // parsers only access things through the private set_ functions so | 716 // parsers only access things through the private set_ functions so |
762 // that this class can evolve without having to change all the | 717 // that this class can evolve without having to change all the |
763 // parsers. | 718 // parsers. |
764 friend class NetworkParser; | 719 friend class NetworkParser; |
765 friend class NativeNetworkParser; | 720 friend class NativeNetworkParser; |
766 friend class NativeVirtualNetworkParser; | 721 friend class NativeVirtualNetworkParser; |
767 friend class OncNetworkParser; | 722 friend class OncNetworkParser; |
768 friend class OncWifiNetworkParser; | |
769 friend class OncVirtualNetworkParser; | 723 friend class OncVirtualNetworkParser; |
770 | 724 |
771 // This allows the implementation classes access to privates. | 725 // This allows the implementation classes access to privates. |
772 NETWORK_LIBRARY_IMPL_FRIENDS; | 726 NETWORK_LIBRARY_IMPL_FRIENDS; |
773 | 727 |
774 // Use these functions at your peril. They are used by the various | 728 // Use these functions at your peril. They are used by the various |
775 // parsers to set state, and really shouldn't be used by anything else | 729 // parsers to set state, and really shouldn't be used by anything else |
776 // because they don't do the error checking and sending to the | 730 // because they don't do the error checking and sending to the |
777 // network layer that the other setters do. | 731 // network layer that the other setters do. |
778 void set_device_path(const std::string& device_path) { | 732 void set_device_path(const std::string& device_path) { |
(...skipping 1022 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1801 const std::string& service_path) = 0; | 1755 const std::string& service_path) = 0; |
1802 | 1756 |
1803 // Factory function, creates a new instance and returns ownership. | 1757 // Factory function, creates a new instance and returns ownership. |
1804 // For normal usage, access the singleton via CrosLibrary::Get(). | 1758 // For normal usage, access the singleton via CrosLibrary::Get(). |
1805 static NetworkLibrary* GetImpl(bool stub); | 1759 static NetworkLibrary* GetImpl(bool stub); |
1806 }; | 1760 }; |
1807 | 1761 |
1808 } // namespace chromeos | 1762 } // namespace chromeos |
1809 | 1763 |
1810 #endif // CHROME_BROWSER_CHROMEOS_CROS_NETWORK_LIBRARY_H_ | 1764 #endif // CHROME_BROWSER_CHROMEOS_CROS_NETWORK_LIBRARY_H_ |
OLD | NEW |