Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 CHROMEOS_NETWORK_NETWORK_STATE_HANDLER_H_ | 5 #ifndef CHROMEOS_NETWORK_NETWORK_STATE_HANDLER_H_ |
| 6 #define CHROMEOS_NETWORK_NETWORK_STATE_HANDLER_H_ | 6 #define CHROMEOS_NETWORK_NETWORK_STATE_HANDLER_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 43 // | 43 // |
| 44 // This class maps essential properties from the connection manager (Shill) for | 44 // This class maps essential properties from the connection manager (Shill) for |
| 45 // each visible network. It is not used to change the properties of services or | 45 // each visible network. It is not used to change the properties of services or |
| 46 // devices, only global (manager) properties. | 46 // devices, only global (manager) properties. |
| 47 // | 47 // |
| 48 // All getters return the currently cached properties. This class is expected to | 48 // All getters return the currently cached properties. This class is expected to |
| 49 // keep properties up to date by managing the appropriate Shill observers. | 49 // keep properties up to date by managing the appropriate Shill observers. |
| 50 // It will invoke its own more specific observer methods when the specified | 50 // It will invoke its own more specific observer methods when the specified |
| 51 // changes occur. | 51 // changes occur. |
| 52 // | 52 // |
| 53 // Some notes about NetworkState, FavoriteState, and GUIDs: | 53 // Some notes about NetworkState and GUIDs: |
| 54 // * A FavoriteState exists for all network services stored in a profile, and | 54 // * A NetworkState exists for all network services stored in a profile, and |
| 55 // all "visible" networks (physically connected networks like ethernet and | 55 // all "visible" networks (physically connected networks like ethernet and |
| 56 // cellular or in-range wifi networks). If the network is stored in a profile, | 56 // cellular or in-range wifi networks). If the network is stored in a profile, |
| 57 // FavoriteState.IsInProfile() will return true. | 57 // NetworkState.IsInProfile() will return true. |
| 58 // * A NetworkState exists for "visible" networks only. There will always be a | 58 // * "Visible" networks return true for NetworkState.IsVisible(). |
| 59 // corresponding FavoriteState with the same service_path() property. | |
| 60 // * All networks saved to a profile will have a saved GUID that is persistent | 59 // * All networks saved to a profile will have a saved GUID that is persistent |
| 61 // across sessions. | 60 // across sessions. |
| 62 // * Networks that are not saved to a profile will have a GUID assigned when | 61 // * Networks that are not saved to a profile will have a GUID assigned when |
| 63 // the initial properties are received. The GUID will be consistent for | 62 // the initial properties are received. The GUID will be consistent for |
| 64 // the duration of a session, even if the network drops out and returns. | 63 // the duration of a session, even if the network drops out and returns. |
| 65 // * Both FavoriteState and NetworkState store the GUID. It will always be the | |
| 66 // same for the same network (i.e. entries with the same service_path()). | |
| 67 | 64 |
| 68 class CHROMEOS_EXPORT NetworkStateHandler | 65 class CHROMEOS_EXPORT NetworkStateHandler |
| 69 : public internal::ShillPropertyHandler::Listener { | 66 : public internal::ShillPropertyHandler::Listener { |
| 70 public: | 67 public: |
| 71 typedef std::vector<ManagedState*> ManagedStateList; | 68 typedef std::vector<ManagedState*> ManagedStateList; |
| 72 typedef std::vector<const NetworkState*> NetworkStateList; | 69 typedef std::vector<const NetworkState*> NetworkStateList; |
| 73 typedef std::vector<const DeviceState*> DeviceStateList; | 70 typedef std::vector<const DeviceState*> DeviceStateList; |
| 74 typedef std::vector<const FavoriteState*> FavoriteStateList; | |
| 75 | 71 |
| 76 enum TechnologyState { | 72 enum TechnologyState { |
| 77 TECHNOLOGY_UNAVAILABLE, | 73 TECHNOLOGY_UNAVAILABLE, |
| 78 TECHNOLOGY_AVAILABLE, | 74 TECHNOLOGY_AVAILABLE, |
| 79 TECHNOLOGY_UNINITIALIZED, | 75 TECHNOLOGY_UNINITIALIZED, |
| 80 TECHNOLOGY_ENABLING, | 76 TECHNOLOGY_ENABLING, |
| 81 TECHNOLOGY_ENABLED | 77 TECHNOLOGY_ENABLED |
| 82 }; | 78 }; |
| 83 | 79 |
| 84 virtual ~NetworkStateHandler(); | 80 virtual ~NetworkStateHandler(); |
| 85 | 81 |
| 86 // Add/remove observers. | 82 // Add/remove observers. |
| 87 void AddObserver(NetworkStateHandlerObserver* observer, | 83 void AddObserver(NetworkStateHandlerObserver* observer, |
| 88 const tracked_objects::Location& from_here); | 84 const tracked_objects::Location& from_here); |
| 89 void RemoveObserver(NetworkStateHandlerObserver* observer, | 85 void RemoveObserver(NetworkStateHandlerObserver* observer, |
| 90 const tracked_objects::Location& from_here); | 86 const tracked_objects::Location& from_here); |
| 91 | 87 |
| 92 // Requests all Manager properties, specifically to update the complete | 88 // Requests all Manager properties, specifically to update the complete |
| 93 // list of services which determines the list of Favorites. This should be | 89 // list of services which determines the list of Networks. This should be |
|
pneubeck (no reviews)
2014/06/10 10:51:37
Isn't this usually unnecessary to call, since we h
stevenjb
2014/06/10 16:17:28
It's mostly unused now, but I will do an audit and
| |
| 94 // called any time a new service is configured or a Profile is loaded. | 90 // called any time a new service is configured or a Profile is loaded. |
| 95 void UpdateManagerProperties(); | 91 void UpdateManagerProperties(); |
| 96 | 92 |
| 97 // Returns the state for technology |type|. Only | 93 // Returns the state for technology |type|. Only |
| 98 // NetworkTypePattern::Primitive, ::Mobile and ::Ethernet are supported. | 94 // NetworkTypePattern::Primitive, ::Mobile and ::Ethernet are supported. |
| 99 TechnologyState GetTechnologyState(const NetworkTypePattern& type) const; | 95 TechnologyState GetTechnologyState(const NetworkTypePattern& type) const; |
| 100 bool IsTechnologyAvailable(const NetworkTypePattern& type) const { | 96 bool IsTechnologyAvailable(const NetworkTypePattern& type) const { |
| 101 return GetTechnologyState(type) != TECHNOLOGY_UNAVAILABLE; | 97 return GetTechnologyState(type) != TECHNOLOGY_UNAVAILABLE; |
| 102 } | 98 } |
| 103 bool IsTechnologyEnabled(const NetworkTypePattern& type) const { | 99 bool IsTechnologyEnabled(const NetworkTypePattern& type) const { |
| (...skipping 23 matching lines...) Expand all Loading... | |
| 127 // value for each property. To receive notifications when a property changes, | 123 // value for each property. To receive notifications when a property changes, |
| 128 // observe this class and implement NetworkPropertyChanged(). | 124 // observe this class and implement NetworkPropertyChanged(). |
| 129 const NetworkState* GetNetworkState(const std::string& service_path) const; | 125 const NetworkState* GetNetworkState(const std::string& service_path) const; |
| 130 | 126 |
| 131 // Returns the default network (which includes VPNs) based on the Shill | 127 // Returns the default network (which includes VPNs) based on the Shill |
| 132 // Manager.DefaultNetwork property. Normally this is the same as | 128 // Manager.DefaultNetwork property. Normally this is the same as |
| 133 // ConnectedNetworkByType(NetworkTypePattern::Default()), but the timing might | 129 // ConnectedNetworkByType(NetworkTypePattern::Default()), but the timing might |
| 134 // differ. | 130 // differ. |
| 135 const NetworkState* DefaultNetwork() const; | 131 const NetworkState* DefaultNetwork() const; |
| 136 | 132 |
| 137 // Returns the FavoriteState associated to DefaultNetwork. Returns NULL if, | |
| 138 // and only if, DefaultNetwork returns NULL. | |
| 139 const FavoriteState* DefaultFavoriteNetwork() const; | |
| 140 | |
| 141 // Returns the primary connected network of matching |type|, otherwise NULL. | 133 // Returns the primary connected network of matching |type|, otherwise NULL. |
| 142 const NetworkState* ConnectedNetworkByType( | 134 const NetworkState* ConnectedNetworkByType( |
| 143 const NetworkTypePattern& type) const; | 135 const NetworkTypePattern& type) const; |
| 144 | 136 |
| 145 // Like ConnectedNetworkByType() but returns a connecting network or NULL. | 137 // Like ConnectedNetworkByType() but returns a connecting network or NULL. |
| 146 const NetworkState* ConnectingNetworkByType( | 138 const NetworkState* ConnectingNetworkByType( |
| 147 const NetworkTypePattern& type) const; | 139 const NetworkTypePattern& type) const; |
| 148 | 140 |
| 149 // Like ConnectedNetworkByType() but returns any matching network or NULL. | 141 // Like ConnectedNetworkByType() but returns any matching network or NULL. |
| 150 // Mostly useful for mobile networks where there is generally only one | 142 // Mostly useful for mobile networks where there is generally only one |
| 151 // network. Note: O(N). | 143 // network. Note: O(N). |
| 152 const NetworkState* FirstNetworkByType(const NetworkTypePattern& type) const; | 144 const NetworkState* FirstNetworkByType(const NetworkTypePattern& type) const; |
| 153 | 145 |
| 154 // Returns the aa:bb formatted hardware (MAC) address for the first connected | 146 // Returns the aa:bb formatted hardware (MAC) address for the first connected |
| 155 // network matching |type|, or an empty string if none is connected. | 147 // network matching |type|, or an empty string if none is connected. |
| 156 std::string FormattedHardwareAddressForType( | 148 std::string FormattedHardwareAddressForType( |
| 157 const NetworkTypePattern& type) const; | 149 const NetworkTypePattern& type) const; |
| 158 | 150 |
| 159 // Sets |list| to contain the list of networks. The returned list contains | 151 // Sets |list| to contain the list of visible networks matching |type|. The |
|
pneubeck (no reviews)
2014/06/10 10:51:37
both functions GetVisibleNetworkList* should be ex
stevenjb
2014/06/10 16:17:28
Will do.
| |
| 160 // a copy of NetworkState pointers which should not be stored or used beyond | 152 // returned list contains a copy of NetworkState pointers which should not be |
| 161 // the scope of the calling function (i.e. they may later become invalid, but | 153 // stored or used beyond the scope of the calling function (i.e. they may |
| 162 // only on the UI thread). | 154 // later become invalid, but only on the UI thread). |
| 163 void GetNetworkList(NetworkStateList* list) const; | 155 void GetVisibleNetworkListByType(const NetworkTypePattern& type, |
| 156 NetworkStateList* list) const; | |
| 164 | 157 |
| 165 // Like GetNetworkList() but only returns networks with matching |type|. | 158 // Convenience method for GetVisibleNetworkListByType(All). |
| 159 void GetVisibleNetworkList(NetworkStateList* list) const; | |
| 160 | |
| 161 // Sets |list| to contain the list of networks with matching |type| and the | |
| 162 // following properties: | |
| 163 // |configured_only| - if true only include networks where IsInProfile is true | |
| 164 // |visible_only| - if true only include networks in the visible Services list | |
| 165 // |limit| - if > 0 limits the number of results. | |
| 166 void GetNetworkListByType(const NetworkTypePattern& type, | 166 void GetNetworkListByType(const NetworkTypePattern& type, |
| 167 bool configured_only, | |
| 168 bool visible_only, | |
| 169 int limit, | |
| 167 NetworkStateList* list) const; | 170 NetworkStateList* list) const; |
| 168 | 171 |
| 172 // Finds and returns the NetworkState associated with |service_path| or NULL | |
| 173 // if not found. If |configured_only| is true, only returns saved entries | |
| 174 // (IsInProfile is true). | |
| 175 const NetworkState* GetNetworkStateFromServicePath( | |
| 176 const std::string& service_path, | |
| 177 bool configured_only) const; | |
| 178 | |
| 179 // Finds and returns the NetworkState associated with |guid| or NULL if not | |
| 180 // found. This returns all entries (IsInProfile() may be true or false). | |
| 181 const NetworkState* GetNetworkStateFromGuid(const std::string& guid) const; | |
| 182 | |
| 169 // Sets |list| to contain the list of devices. The returned list contains | 183 // Sets |list| to contain the list of devices. The returned list contains |
| 170 // a copy of DeviceState pointers which should not be stored or used beyond | 184 // a copy of DeviceState pointers which should not be stored or used beyond |
| 171 // the scope of the calling function (i.e. they may later become invalid, but | 185 // the scope of the calling function (i.e. they may later become invalid, but |
| 172 // only on the UI thread). | 186 // only on the UI thread). |
| 173 void GetDeviceList(DeviceStateList* list) const; | 187 void GetDeviceList(DeviceStateList* list) const; |
| 174 | 188 |
| 175 // Like GetDeviceList() but only returns networks with matching |type|. | 189 // Like GetDeviceList() but only returns networks with matching |type|. |
| 176 void GetDeviceListByType(const NetworkTypePattern& type, | 190 void GetDeviceListByType(const NetworkTypePattern& type, |
| 177 DeviceStateList* list) const; | 191 DeviceStateList* list) const; |
| 178 | 192 |
| 179 // Sets |list| to contain the list of favorite (aka "preferred") networks. | |
| 180 // See GetNetworkList() for usage, and notes for |favorite_list_|. | |
| 181 // Favorites that are visible have the same path() as the entries in | |
| 182 // GetNetworkList(), so GetNetworkState() can be used to determine if a | |
| 183 // favorite is visible and retrieve the complete properties (and vice-versa). | |
| 184 void GetFavoriteList(FavoriteStateList* list) const; | |
| 185 | |
| 186 // Like GetFavoriteList() but only returns favorites with matching |type| and | |
| 187 // the following properties: | |
| 188 // |configured_only| - if true only include networks where IsInProfile is true | |
| 189 // |visible_only| - if true only include networks in the visible Services list | |
| 190 // |limit| - if > 0 limits the number of results. | |
| 191 void GetFavoriteListByType(const NetworkTypePattern& type, | |
| 192 bool configured_only, | |
| 193 bool visible_only, | |
| 194 int limit, | |
| 195 FavoriteStateList* list) const; | |
| 196 | |
| 197 // Finds and returns the FavoriteState associated with |service_path| or NULL | |
| 198 // if not found. If |configured_only| is true, only returns saved entries | |
| 199 // (IsInProfile is true). | |
| 200 const FavoriteState* GetFavoriteStateFromServicePath( | |
| 201 const std::string& service_path, | |
| 202 bool configured_only) const; | |
| 203 | |
| 204 // Finds and returns the FavoriteState associated with |guid| or NULL if not | |
| 205 // found. This returns all entries (IsInProfile() may be true or false). | |
| 206 const FavoriteState* GetFavoriteStateFromGuid(const std::string& guid) const; | |
| 207 | |
| 208 // Requests a network scan. This may trigger updates to the network | 193 // Requests a network scan. This may trigger updates to the network |
| 209 // list, which will trigger the appropriate observer calls. | 194 // list, which will trigger the appropriate observer calls. |
| 210 void RequestScan() const; | 195 void RequestScan() const; |
| 211 | 196 |
| 212 // Request a scan if not scanning and run |callback| when the Scanning state | 197 // Request a scan if not scanning and run |callback| when the Scanning state |
| 213 // for any Device of network type |type| completes. | 198 // for any Device of network type |type| completes. |
| 214 void WaitForScan(const std::string& type, const base::Closure& callback); | 199 void WaitForScan(const std::string& type, const base::Closure& callback); |
| 215 | 200 |
| 216 // Request a network scan then signal Shill to connect to the best available | 201 // Request a network scan then signal Shill to connect to the best available |
| 217 // networks when completed. | 202 // networks when completed. |
| (...skipping 11 matching lines...) Expand all Loading... | |
| 229 // Clear the last_error value for the NetworkState for |service_path|. | 214 // Clear the last_error value for the NetworkState for |service_path|. |
| 230 void ClearLastErrorForNetwork(const std::string& service_path); | 215 void ClearLastErrorForNetwork(const std::string& service_path); |
| 231 | 216 |
| 232 // Set the list of devices on which portal check is enabled. | 217 // Set the list of devices on which portal check is enabled. |
| 233 void SetCheckPortalList(const std::string& check_portal_list); | 218 void SetCheckPortalList(const std::string& check_portal_list); |
| 234 | 219 |
| 235 const std::string& GetCheckPortalListForTest() const { | 220 const std::string& GetCheckPortalListForTest() const { |
| 236 return check_portal_list_; | 221 return check_portal_list_; |
| 237 } | 222 } |
| 238 | 223 |
| 239 // Returns the FavoriteState of the EthernetEAP service, which contains the | 224 // Returns the NetworkState of the EthernetEAP service, which contains the |
| 240 // EAP parameters used by the ethernet with |service_path|. If |service_path| | 225 // EAP parameters used by the ethernet with |service_path|. If |service_path| |
| 241 // doesn't refer to an ethernet service or if the ethernet service is not | 226 // doesn't refer to an ethernet service or if the ethernet service is not |
| 242 // connected using EAP, returns NULL. | 227 // connected using EAP, returns NULL. |
| 243 const FavoriteState* GetEAPForEthernet(const std::string& service_path) const; | 228 const NetworkState* GetEAPForEthernet(const std::string& service_path) const; |
| 244 | 229 |
| 245 const std::string& default_network_path() const { | 230 const std::string& default_network_path() const { |
| 246 return default_network_path_; | 231 return default_network_path_; |
| 247 } | 232 } |
| 248 | 233 |
| 249 // Construct and initialize an instance for testing. | 234 // Construct and initialize an instance for testing. |
| 250 static NetworkStateHandler* InitializeForTest(); | 235 static NetworkStateHandler* InitializeForTest(); |
| 251 | 236 |
| 252 // Default set of comma separated interfaces on which to enable | 237 // Default set of comma separated interfaces on which to enable |
| 253 // portal checking. | 238 // portal checking. |
| 254 static const char kDefaultCheckPortalList[]; | 239 static const char kDefaultCheckPortalList[]; |
| 255 | 240 |
| 256 protected: | 241 protected: |
| 257 friend class NetworkHandler; | 242 friend class NetworkHandler; |
| 258 NetworkStateHandler(); | 243 NetworkStateHandler(); |
| 259 | 244 |
| 260 // ShillPropertyHandler::Listener overrides. | 245 // ShillPropertyHandler::Listener overrides. |
| 261 | 246 |
| 262 // This adds new entries to the managed list specified by |type| and deletes | 247 // This adds new entries to |network_list_| or |device_list_| and deletes any |
| 263 // any entries that are no longer in the list. | 248 // entries that are no longer in the list. |
| 264 virtual void UpdateManagedList(ManagedState::ManagedType type, | 249 virtual void UpdateManagedList(ManagedState::ManagedType type, |
| 265 const base::ListValue& entries) OVERRIDE; | 250 const base::ListValue& entries) OVERRIDE; |
| 266 | 251 |
| 252 // Updates the visibility if entries in |network_list_|. This should not | |
| 253 // contain entries that are not in |network_list_|. Any such entries will be | |
| 254 // ignored with an error message. | |
| 255 virtual void UpdateVisibleNetworks(const base::ListValue& entries) OVERRIDE; | |
| 256 | |
| 267 // The list of profiles changed (i.e. a user has logged in). Re-request | 257 // The list of profiles changed (i.e. a user has logged in). Re-request |
| 268 // properties for all services since they may have changed. | 258 // properties for all services since they may have changed. |
| 269 virtual void ProfileListChanged() OVERRIDE; | 259 virtual void ProfileListChanged() OVERRIDE; |
| 270 | 260 |
| 271 // Parses the properties for the network service or device. Mostly calls | 261 // Parses the properties for the network service or device. Mostly calls |
| 272 // managed->PropertyChanged(key, value) for each dictionary entry. | 262 // managed->PropertyChanged(key, value) for each dictionary entry. |
| 273 virtual void UpdateManagedStateProperties( | 263 virtual void UpdateManagedStateProperties( |
| 274 ManagedState::ManagedType type, | 264 ManagedState::ManagedType type, |
| 275 const std::string& path, | 265 const std::string& path, |
| 276 const base::DictionaryValue& properties) OVERRIDE; | 266 const base::DictionaryValue& properties) OVERRIDE; |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 324 typedef std::map<std::string, ScanCallbackList> ScanCompleteCallbackMap; | 314 typedef std::map<std::string, ScanCallbackList> ScanCompleteCallbackMap; |
| 325 typedef std::map<std::string, std::string> SpecifierGuidMap; | 315 typedef std::map<std::string, std::string> SpecifierGuidMap; |
| 326 friend class NetworkStateHandlerTest; | 316 friend class NetworkStateHandlerTest; |
| 327 FRIEND_TEST_ALL_PREFIXES(NetworkStateHandlerTest, NetworkStateHandlerStub); | 317 FRIEND_TEST_ALL_PREFIXES(NetworkStateHandlerTest, NetworkStateHandlerStub); |
| 328 | 318 |
| 329 // NetworkState specific method for UpdateManagedStateProperties which | 319 // NetworkState specific method for UpdateManagedStateProperties which |
| 330 // notifies observers. | 320 // notifies observers. |
| 331 void UpdateNetworkStateProperties(NetworkState* network, | 321 void UpdateNetworkStateProperties(NetworkState* network, |
| 332 const base::DictionaryValue& properties); | 322 const base::DictionaryValue& properties); |
| 333 | 323 |
| 334 // Ensure a valid GUID for FavoriteState and update the NetworkState GUID from | 324 // Ensure a valid GUID for NetworkState. |
| 335 // the corresponding FavoriteState if necessary. | 325 void UpdateGuid(NetworkState* network); |
| 336 void UpdateGuid(ManagedState* managed); | |
| 337 | 326 |
| 338 // Sends DeviceListChanged() to observers and logs an event. | 327 // Sends DeviceListChanged() to observers and logs an event. |
| 339 void NotifyDeviceListChanged(); | 328 void NotifyDeviceListChanged(); |
| 340 | 329 |
| 341 // Non-const getters for managed entries. These are const so that they can | 330 // Non-const getters for managed entries. These are const so that they can |
| 342 // be called by Get[Network|Device]State, even though they return non-const | 331 // be called by Get[Network|Device]State, even though they return non-const |
| 343 // pointers. | 332 // pointers. |
| 344 DeviceState* GetModifiableDeviceState(const std::string& device_path) const; | 333 DeviceState* GetModifiableDeviceState(const std::string& device_path) const; |
| 345 NetworkState* GetModifiableNetworkState( | 334 NetworkState* GetModifiableNetworkState( |
| 346 const std::string& service_path) const; | 335 const std::string& service_path) const; |
| 347 FavoriteState* GetModifiableFavoriteState( | |
| 348 const std::string& service_path) const; | |
| 349 ManagedState* GetModifiableManagedState(const ManagedStateList* managed_list, | 336 ManagedState* GetModifiableManagedState(const ManagedStateList* managed_list, |
| 350 const std::string& path) const; | 337 const std::string& path) const; |
| 351 | 338 |
| 352 // Gets the list specified by |type|. | 339 // Gets the list specified by |type|. |
| 353 ManagedStateList* GetManagedList(ManagedState::ManagedType type); | 340 ManagedStateList* GetManagedList(ManagedState::ManagedType type); |
| 354 | 341 |
| 355 // Helper function to notify observers. Calls CheckDefaultNetworkChanged(). | 342 // Helper function to notify observers. Calls CheckDefaultNetworkChanged(). |
| 356 void OnNetworkConnectionStateChanged(NetworkState* network); | 343 void OnNetworkConnectionStateChanged(NetworkState* network); |
| 357 | 344 |
| 358 // Notifies observers when the default network or its properties change. | 345 // Notifies observers when the default network or its properties change. |
| (...skipping 15 matching lines...) Expand all Loading... | |
| 374 | 361 |
| 375 // Shill property handler instance, owned by this class. | 362 // Shill property handler instance, owned by this class. |
| 376 scoped_ptr<internal::ShillPropertyHandler> shill_property_handler_; | 363 scoped_ptr<internal::ShillPropertyHandler> shill_property_handler_; |
| 377 | 364 |
| 378 // Observer list | 365 // Observer list |
| 379 ObserverList<NetworkStateHandlerObserver> observers_; | 366 ObserverList<NetworkStateHandlerObserver> observers_; |
| 380 | 367 |
| 381 // List of managed network states | 368 // List of managed network states |
| 382 ManagedStateList network_list_; | 369 ManagedStateList network_list_; |
| 383 | 370 |
| 384 // List of managed favorite states; this list includes all entries in | |
| 385 // Manager.ServiceCompleteList, but only entries with a non-empty Profile | |
| 386 // property are returned in GetFavoriteList(). | |
| 387 ManagedStateList favorite_list_; | |
| 388 | |
| 389 // List of managed device states | 371 // List of managed device states |
| 390 ManagedStateList device_list_; | 372 ManagedStateList device_list_; |
| 391 | 373 |
| 392 // Keeps track of the default network for notifying observers when it changes. | 374 // Keeps track of the default network for notifying observers when it changes. |
| 393 std::string default_network_path_; | 375 std::string default_network_path_; |
| 394 | 376 |
| 395 // List of interfaces on which portal check is enabled. | 377 // List of interfaces on which portal check is enabled. |
| 396 std::string check_portal_list_; | 378 std::string check_portal_list_; |
| 397 | 379 |
| 398 // Callbacks to run when a scan for the technology type completes. | 380 // Callbacks to run when a scan for the technology type completes. |
| 399 ScanCompleteCallbackMap scan_complete_callbacks_; | 381 ScanCompleteCallbackMap scan_complete_callbacks_; |
| 400 | 382 |
| 401 // Map of network specifiers to guids. Contains an entry for each | 383 // Map of network specifiers to guids. Contains an entry for each |
| 402 // FavoriteState that is not saved in a profile. | 384 // NetworkState that is not saved in a profile. |
| 403 SpecifierGuidMap specifier_guid_map_; | 385 SpecifierGuidMap specifier_guid_map_; |
| 404 | 386 |
| 405 DISALLOW_COPY_AND_ASSIGN(NetworkStateHandler); | 387 DISALLOW_COPY_AND_ASSIGN(NetworkStateHandler); |
| 406 }; | 388 }; |
| 407 | 389 |
| 408 } // namespace chromeos | 390 } // namespace chromeos |
| 409 | 391 |
| 410 #endif // CHROMEOS_NETWORK_NETWORK_STATE_HANDLER_H_ | 392 #endif // CHROMEOS_NETWORK_NETWORK_STATE_HANDLER_H_ |
| OLD | NEW |