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