| 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 |
| 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. The returned list |
| 160 // a copy of NetworkState pointers which should not be stored or used beyond | 152 // contains a copy of NetworkState pointers which should not be stored or used |
| 161 // the scope of the calling function (i.e. they may later become invalid, but | 153 // beyond the scope of the calling function (i.e. they may later become |
| 162 // only on the UI thread). | 154 // invalid, but only on the UI thread). |
| 163 void GetNetworkList(NetworkStateList* list) const; | 155 void GetVisibleNetworkList(NetworkStateList* list) const; |
| 164 | 156 |
| 165 // Like GetNetworkList() but only returns networks with matching |type|. | 157 // Sets |list| to contain the list of networks with matching |type| and the |
| 158 // following properties: |
| 159 // |configured_only| - if true only include networks where IsInProfile is true |
| 160 // |visible_only| - if true only include networks in the visible Services list |
| 161 // |limit| - if > 0 limits the number of results. |
| 166 void GetNetworkListByType(const NetworkTypePattern& type, | 162 void GetNetworkListByType(const NetworkTypePattern& type, |
| 163 bool configured_only, |
| 164 bool visible_only, |
| 165 int limit, |
| 167 NetworkStateList* list) const; | 166 NetworkStateList* list) const; |
| 168 | 167 |
| 168 // Finds and returns the NetworkState associated with |service_path| or NULL |
| 169 // if not found. If |configured_only| is true, only returns saved entries |
| 170 // (IsInProfile is true). |
| 171 const NetworkState* GetNetworkStateFromServicePath( |
| 172 const std::string& service_path, |
| 173 bool configured_only) const; |
| 174 |
| 175 // Finds and returns the NetworkState associated with |guid| or NULL if not |
| 176 // found. This returns all entries (IsInProfile() may be true or false). |
| 177 const NetworkState* GetNetworkStateFromGuid(const std::string& guid) const; |
| 178 |
| 169 // Sets |list| to contain the list of devices. The returned list contains | 179 // 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 | 180 // 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 | 181 // the scope of the calling function (i.e. they may later become invalid, but |
| 172 // only on the UI thread). | 182 // only on the UI thread). |
| 173 void GetDeviceList(DeviceStateList* list) const; | 183 void GetDeviceList(DeviceStateList* list) const; |
| 174 | 184 |
| 175 // Like GetDeviceList() but only returns networks with matching |type|. | 185 // Like GetDeviceList() but only returns networks with matching |type|. |
| 176 void GetDeviceListByType(const NetworkTypePattern& type, | 186 void GetDeviceListByType(const NetworkTypePattern& type, |
| 177 DeviceStateList* list) const; | 187 DeviceStateList* list) const; |
| 178 | 188 |
| 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 | 189 // Requests a network scan. This may trigger updates to the network |
| 209 // list, which will trigger the appropriate observer calls. | 190 // list, which will trigger the appropriate observer calls. |
| 210 void RequestScan() const; | 191 void RequestScan() const; |
| 211 | 192 |
| 212 // Request a scan if not scanning and run |callback| when the Scanning state | 193 // Request a scan if not scanning and run |callback| when the Scanning state |
| 213 // for any Device of network type |type| completes. | 194 // for any Device of network type |type| completes. |
| 214 void WaitForScan(const std::string& type, const base::Closure& callback); | 195 void WaitForScan(const std::string& type, const base::Closure& callback); |
| 215 | 196 |
| 216 // Request a network scan then signal Shill to connect to the best available | 197 // Request a network scan then signal Shill to connect to the best available |
| 217 // networks when completed. | 198 // networks when completed. |
| (...skipping 11 matching lines...) Expand all Loading... |
| 229 // Clear the last_error value for the NetworkState for |service_path|. | 210 // Clear the last_error value for the NetworkState for |service_path|. |
| 230 void ClearLastErrorForNetwork(const std::string& service_path); | 211 void ClearLastErrorForNetwork(const std::string& service_path); |
| 231 | 212 |
| 232 // Set the list of devices on which portal check is enabled. | 213 // Set the list of devices on which portal check is enabled. |
| 233 void SetCheckPortalList(const std::string& check_portal_list); | 214 void SetCheckPortalList(const std::string& check_portal_list); |
| 234 | 215 |
| 235 const std::string& GetCheckPortalListForTest() const { | 216 const std::string& GetCheckPortalListForTest() const { |
| 236 return check_portal_list_; | 217 return check_portal_list_; |
| 237 } | 218 } |
| 238 | 219 |
| 239 // Returns the FavoriteState of the EthernetEAP service, which contains the | 220 // Returns the NetworkState of the EthernetEAP service, which contains the |
| 240 // EAP parameters used by the ethernet with |service_path|. If |service_path| | 221 // 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 | 222 // doesn't refer to an ethernet service or if the ethernet service is not |
| 242 // connected using EAP, returns NULL. | 223 // connected using EAP, returns NULL. |
| 243 const FavoriteState* GetEAPForEthernet(const std::string& service_path) const; | 224 const NetworkState* GetEAPForEthernet(const std::string& service_path) const; |
| 244 | 225 |
| 245 // Construct and initialize an instance for testing. | 226 // Construct and initialize an instance for testing. |
| 246 static NetworkStateHandler* InitializeForTest(); | 227 static NetworkStateHandler* InitializeForTest(); |
| 247 | 228 |
| 248 // Default set of comma separated interfaces on which to enable | 229 // Default set of comma separated interfaces on which to enable |
| 249 // portal checking. | 230 // portal checking. |
| 250 static const char kDefaultCheckPortalList[]; | 231 static const char kDefaultCheckPortalList[]; |
| 251 | 232 |
| 252 protected: | 233 protected: |
| 253 friend class NetworkHandler; | 234 friend class NetworkHandler; |
| 254 NetworkStateHandler(); | 235 NetworkStateHandler(); |
| 255 | 236 |
| 256 // ShillPropertyHandler::Listener overrides. | 237 // ShillPropertyHandler::Listener overrides. |
| 257 | 238 |
| 258 // This adds new entries to the managed list specified by |type| and deletes | 239 // This adds new entries to device_list_ and deletes any entries that are no |
| 259 // any entries that are no longer in the list. | 240 // longer in the list. |
| 260 virtual void UpdateManagedList(ManagedState::ManagedType type, | 241 virtual void UpdateManagedDevices(const base::ListValue& entries) OVERRIDE; |
| 261 const base::ListValue& entries) OVERRIDE; | 242 |
| 243 // If |complete_list| is true then this adds new entries to network_list_ and |
| 244 // deletes any entries that are no longer in the list. If |complete_list| is |
| 245 // false then the visibility of existing entries is updated. |
| 246 virtual void UpdateManagedNetworks(const base::ListValue& entries, |
| 247 bool complete_list) OVERRIDE; |
| 262 | 248 |
| 263 // The list of profiles changed (i.e. a user has logged in). Re-request | 249 // The list of profiles changed (i.e. a user has logged in). Re-request |
| 264 // properties for all services since they may have changed. | 250 // properties for all services since they may have changed. |
| 265 virtual void ProfileListChanged() OVERRIDE; | 251 virtual void ProfileListChanged() OVERRIDE; |
| 266 | 252 |
| 267 // Parses the properties for the network service or device. Mostly calls | 253 // Parses the properties for the network service or device. Mostly calls |
| 268 // managed->PropertyChanged(key, value) for each dictionary entry. | 254 // managed->PropertyChanged(key, value) for each dictionary entry. |
| 269 virtual void UpdateManagedStateProperties( | 255 virtual void UpdateManagedStateProperties( |
| 270 ManagedState::ManagedType type, | 256 ManagedState::ManagedType type, |
| 271 const std::string& path, | 257 const std::string& path, |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 308 | 294 |
| 309 // Called when the default network service changes. Sets default_network_path_ | 295 // Called when the default network service changes. Sets default_network_path_ |
| 310 // and notifies listeners. | 296 // and notifies listeners. |
| 311 virtual void DefaultNetworkServiceChanged( | 297 virtual void DefaultNetworkServiceChanged( |
| 312 const std::string& service_path) OVERRIDE; | 298 const std::string& service_path) OVERRIDE; |
| 313 | 299 |
| 314 // Called after construction. Called explicitly by tests after adding | 300 // Called after construction. Called explicitly by tests after adding |
| 315 // test observers. | 301 // test observers. |
| 316 void InitShillPropertyHandler(); | 302 void InitShillPropertyHandler(); |
| 317 | 303 |
| 304 // Helper methods for UpdateManagedNetworks/Devices. |
| 305 void UpdateManagedList(ManagedState::ManagedType type, |
| 306 const base::ListValue& entries); |
| 307 void UpdateVisibleNetworks(const base::ListValue& entries); |
| 308 |
| 318 private: | 309 private: |
| 319 typedef std::list<base::Closure> ScanCallbackList; | 310 typedef std::list<base::Closure> ScanCallbackList; |
| 320 typedef std::map<std::string, ScanCallbackList> ScanCompleteCallbackMap; | 311 typedef std::map<std::string, ScanCallbackList> ScanCompleteCallbackMap; |
| 321 typedef std::map<std::string, std::string> SpecifierGuidMap; | 312 typedef std::map<std::string, std::string> SpecifierGuidMap; |
| 322 friend class NetworkStateHandlerTest; | 313 friend class NetworkStateHandlerTest; |
| 323 FRIEND_TEST_ALL_PREFIXES(NetworkStateHandlerTest, NetworkStateHandlerStub); | 314 FRIEND_TEST_ALL_PREFIXES(NetworkStateHandlerTest, NetworkStateHandlerStub); |
| 324 | 315 |
| 325 // NetworkState specific method for UpdateManagedStateProperties which | 316 // NetworkState specific method for UpdateManagedStateProperties which |
| 326 // notifies observers. | 317 // notifies observers. |
| 327 void UpdateNetworkStateProperties(NetworkState* network, | 318 void UpdateNetworkStateProperties(NetworkState* network, |
| 328 const base::DictionaryValue& properties); | 319 const base::DictionaryValue& properties); |
| 329 | 320 |
| 330 // Ensure a valid GUID for FavoriteState and update the NetworkState GUID from | 321 // Ensure a valid GUID for NetworkState. |
| 331 // the corresponding FavoriteState if necessary. | 322 void UpdateGuid(NetworkState* network); |
| 332 void UpdateGuid(ManagedState* managed); | |
| 333 | 323 |
| 334 // Sends DeviceListChanged() to observers and logs an event. | 324 // Sends DeviceListChanged() to observers and logs an event. |
| 335 void NotifyDeviceListChanged(); | 325 void NotifyDeviceListChanged(); |
| 336 | 326 |
| 337 // Non-const getters for managed entries. These are const so that they can | 327 // Non-const getters for managed entries. These are const so that they can |
| 338 // be called by Get[Network|Device]State, even though they return non-const | 328 // be called by Get[Network|Device]State, even though they return non-const |
| 339 // pointers. | 329 // pointers. |
| 340 DeviceState* GetModifiableDeviceState(const std::string& device_path) const; | 330 DeviceState* GetModifiableDeviceState(const std::string& device_path) const; |
| 341 NetworkState* GetModifiableNetworkState( | 331 NetworkState* GetModifiableNetworkState( |
| 342 const std::string& service_path) const; | 332 const std::string& service_path) const; |
| 343 FavoriteState* GetModifiableFavoriteState( | |
| 344 const std::string& service_path) const; | |
| 345 ManagedState* GetModifiableManagedState(const ManagedStateList* managed_list, | 333 ManagedState* GetModifiableManagedState(const ManagedStateList* managed_list, |
| 346 const std::string& path) const; | 334 const std::string& path) const; |
| 347 | 335 |
| 348 // Gets the list specified by |type|. | 336 // Gets the list specified by |type|. |
| 349 ManagedStateList* GetManagedList(ManagedState::ManagedType type); | 337 ManagedStateList* GetManagedList(ManagedState::ManagedType type); |
| 350 | 338 |
| 351 // Helper function to notify observers. Calls CheckDefaultNetworkChanged(). | 339 // Helper function to notify observers. Calls CheckDefaultNetworkChanged(). |
| 352 void OnNetworkConnectionStateChanged(NetworkState* network); | 340 void OnNetworkConnectionStateChanged(NetworkState* network); |
| 353 | 341 |
| 354 // Notifies observers when the default network or its properties change. | 342 // Notifies observers when the default network or its properties change. |
| (...skipping 15 matching lines...) Expand all Loading... |
| 370 | 358 |
| 371 // Shill property handler instance, owned by this class. | 359 // Shill property handler instance, owned by this class. |
| 372 scoped_ptr<internal::ShillPropertyHandler> shill_property_handler_; | 360 scoped_ptr<internal::ShillPropertyHandler> shill_property_handler_; |
| 373 | 361 |
| 374 // Observer list | 362 // Observer list |
| 375 ObserverList<NetworkStateHandlerObserver> observers_; | 363 ObserverList<NetworkStateHandlerObserver> observers_; |
| 376 | 364 |
| 377 // List of managed network states | 365 // List of managed network states |
| 378 ManagedStateList network_list_; | 366 ManagedStateList network_list_; |
| 379 | 367 |
| 380 // List of managed favorite states; this list includes all entries in | |
| 381 // Manager.ServiceCompleteList, but only entries with a non-empty Profile | |
| 382 // property are returned in GetFavoriteList(). | |
| 383 ManagedStateList favorite_list_; | |
| 384 | |
| 385 // List of managed device states | 368 // List of managed device states |
| 386 ManagedStateList device_list_; | 369 ManagedStateList device_list_; |
| 387 | 370 |
| 388 // Keeps track of the default network for notifying observers when it changes. | 371 // Keeps track of the default network for notifying observers when it changes. |
| 389 std::string default_network_path_; | 372 std::string default_network_path_; |
| 390 | 373 |
| 391 // List of interfaces on which portal check is enabled. | 374 // List of interfaces on which portal check is enabled. |
| 392 std::string check_portal_list_; | 375 std::string check_portal_list_; |
| 393 | 376 |
| 394 // Callbacks to run when a scan for the technology type completes. | 377 // Callbacks to run when a scan for the technology type completes. |
| 395 ScanCompleteCallbackMap scan_complete_callbacks_; | 378 ScanCompleteCallbackMap scan_complete_callbacks_; |
| 396 | 379 |
| 397 // Map of network specifiers to guids. Contains an entry for each | 380 // Map of network specifiers to guids. Contains an entry for each |
| 398 // FavoriteState that is not saved in a profile. | 381 // NetworkState that is not saved in a profile. |
| 399 SpecifierGuidMap specifier_guid_map_; | 382 SpecifierGuidMap specifier_guid_map_; |
| 400 | 383 |
| 401 DISALLOW_COPY_AND_ASSIGN(NetworkStateHandler); | 384 DISALLOW_COPY_AND_ASSIGN(NetworkStateHandler); |
| 402 }; | 385 }; |
| 403 | 386 |
| 404 } // namespace chromeos | 387 } // namespace chromeos |
| 405 | 388 |
| 406 #endif // CHROMEOS_NETWORK_NETWORK_STATE_HANDLER_H_ | 389 #endif // CHROMEOS_NETWORK_NETWORK_STATE_HANDLER_H_ |
| OLD | NEW |