1 // Copyright 2012 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "net/quic/network_connection.h" 6 7 #include "base/logging.h" 8 #include "net/base/network_interfaces.h" 9 10 namespace net { 11 NetworkConnection()12NetworkConnection::NetworkConnection() { 13 NetworkChangeNotifier::AddIPAddressObserver(this); 14 NetworkChangeNotifier::AddConnectionTypeObserver(this); 15 OnIPAddressChanged(); 16 } 17 ~NetworkConnection()18NetworkConnection::~NetworkConnection() { 19 NetworkChangeNotifier::RemoveConnectionTypeObserver(this); 20 NetworkChangeNotifier::RemoveIPAddressObserver(this); 21 } 22 OnIPAddressChanged()23void NetworkConnection::OnIPAddressChanged() { 24 OnConnectionTypeChanged(NetworkChangeNotifier::GetConnectionType()); 25 } 26 OnConnectionTypeChanged(NetworkChangeNotifier::ConnectionType type)27void NetworkConnection::OnConnectionTypeChanged( 28 NetworkChangeNotifier::ConnectionType type) { 29 DVLOG(1) << "Updating NetworkConnection's Cached Data"; 30 31 connection_type_ = type; 32 connection_description_ = 33 NetworkChangeNotifier::ConnectionTypeToString(type).c_str(); 34 } 35 36 } // namespace net 37