| Index: chromeos/network/network_state_handler.h
 | 
| diff --git a/chromeos/network/network_state_handler.h b/chromeos/network/network_state_handler.h
 | 
| index 3265b00141c167c6fb162db3ff6a8bcd7cd1ba88..b35887bd5aa6f0629d9fa06fe540d20476548414 100644
 | 
| --- a/chromeos/network/network_state_handler.h
 | 
| +++ b/chromeos/network/network_state_handler.h
 | 
| @@ -112,6 +112,17 @@ class CHROMEOS_EXPORT NetworkStateHandler
 | 
|        bool enabled,
 | 
|        const network_handler::ErrorCallback& error_callback);
 | 
|  
 | 
| +  // Sets the tether technology state. Because Tether networks do not represent
 | 
| +  // real Shill networks, this value must be set by the tether component rather
 | 
| +  // than being generated by Shill. See TetherDeviceStateManager for more
 | 
| +  // details.
 | 
| +  void SetTetherTechnologyState(TechnologyState technology_state);
 | 
| +
 | 
| +  // Sets the scanning state of the tether technology. Since tether network
 | 
| +  // scans are not actually performed as part of Shill, this value must be set
 | 
| +  // by the tether component.
 | 
| +  void SetTetherScanState(bool is_scanning);
 | 
| +
 | 
|    // Asynchronously sets the list of prohibited technologies. The accepted
 | 
|    // values are the shill network technology identifiers. See also
 | 
|    // chromeos::onc::Validator::ValidateGlobalNetworkConfiguration().
 | 
| @@ -250,7 +261,9 @@ class CHROMEOS_EXPORT NetworkStateHandler
 | 
|                             DeviceStateList* list) const;
 | 
|  
 | 
|    // Requests a network scan. This may trigger updates to the network
 | 
| -  // list, which will trigger the appropriate observer calls.
 | 
| +  // list, which will trigger the appropriate observer calls. Note that this
 | 
| +  // function does not request a tether scan.
 | 
| +  // TODO(khorimoto): Add ability to request a tether scan as well.
 | 
|    void RequestScan() const;
 | 
|  
 | 
|    // Requests an update for an existing NetworkState, e.g. after configuring
 | 
| @@ -259,7 +272,7 @@ class CHROMEOS_EXPORT NetworkStateHandler
 | 
|    // acknowledged it (e.g. in the callback of a SetProperties).
 | 
|    // When the properties are received, NetworkPropertiesUpdated will be
 | 
|    // signaled for each member of |observers_|, regardless of whether any
 | 
| -  // properties actually changed.
 | 
| +  // properties actually changed. Note that this is a no-op for Tether networks.
 | 
|    void RequestUpdateForNetwork(const std::string& service_path);
 | 
|  
 | 
|    // Informs NetworkStateHandler to notify observers that the properties for
 | 
| @@ -452,6 +465,11 @@ class CHROMEOS_EXPORT NetworkStateHandler
 | 
|        const std::string& guid,
 | 
|        const std::string& connection_state);
 | 
|  
 | 
| +  // Ensures that the Tether DeviceState is present in |device_list_| if
 | 
| +  // |tether_technology_state_| is not TECHNOLOGY_UNAVAILABLE and ensures that
 | 
| +  // it is not present in |device_list_| if it is TECHNOLOGY_UNAVAILABLE.
 | 
| +  void EnsureTetherDeviceState();
 | 
| +
 | 
|    // Shill property handler instance, owned by this class.
 | 
|    std::unique_ptr<internal::ShillPropertyHandler> shill_property_handler_;
 | 
|  
 | 
| @@ -482,6 +500,11 @@ class CHROMEOS_EXPORT NetworkStateHandler
 | 
|    // NetworkState that is not saved in a profile.
 | 
|    SpecifierGuidMap specifier_guid_map_;
 | 
|  
 | 
| +  // The state corresponding to the tether device type. This value is managed by
 | 
| +  // the tether component.
 | 
| +  TechnologyState tether_technology_state_ =
 | 
| +      TechnologyState::TECHNOLOGY_UNAVAILABLE;
 | 
| +
 | 
|    // Ensure that Shutdown() gets called exactly once.
 | 
|    bool did_shutdown_ = false;
 | 
|  
 | 
| 
 |