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 #include "net/base/network_change_notifier.h" | 5 #include "net/base/network_change_notifier.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 | 8 |
9 #include "base/metrics/histogram_macros.h" | 9 #include "base/metrics/histogram_macros.h" |
10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
(...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
627 case SUBTYPE_NONE: | 627 case SUBTYPE_NONE: |
628 return 0.0; | 628 return 0.0; |
629 case SUBTYPE_OTHER: | 629 case SUBTYPE_OTHER: |
630 return std::numeric_limits<double>::infinity(); | 630 return std::numeric_limits<double>::infinity(); |
631 } | 631 } |
632 NOTREACHED(); | 632 NOTREACHED(); |
633 return std::numeric_limits<double>::infinity(); | 633 return std::numeric_limits<double>::infinity(); |
634 } | 634 } |
635 | 635 |
636 // static | 636 // static |
| 637 bool NetworkChangeNotifier::AreNetworkHandlesSupported() { |
| 638 if (g_network_change_notifier) { |
| 639 return g_network_change_notifier->AreNetworkHandlesCurrentlySupported(); |
| 640 } |
| 641 return false; |
| 642 } |
| 643 |
| 644 // static |
637 void NetworkChangeNotifier::GetConnectedNetworks(NetworkList* network_list) { | 645 void NetworkChangeNotifier::GetConnectedNetworks(NetworkList* network_list) { |
| 646 DCHECK(AreNetworkHandlesSupported()); |
638 if (g_network_change_notifier) { | 647 if (g_network_change_notifier) { |
639 g_network_change_notifier->GetCurrentConnectedNetworks(network_list); | 648 g_network_change_notifier->GetCurrentConnectedNetworks(network_list); |
640 } else { | 649 } else { |
641 network_list->clear(); | 650 network_list->clear(); |
642 } | 651 } |
643 } | 652 } |
644 | 653 |
645 // static | 654 // static |
646 NetworkChangeNotifier::ConnectionType | 655 NetworkChangeNotifier::ConnectionType |
647 NetworkChangeNotifier::GetNetworkConnectionType(NetworkHandle network) { | 656 NetworkChangeNotifier::GetNetworkConnectionType(NetworkHandle network) { |
| 657 DCHECK(AreNetworkHandlesSupported()); |
648 return g_network_change_notifier | 658 return g_network_change_notifier |
649 ? g_network_change_notifier->GetCurrentNetworkConnectionType( | 659 ? g_network_change_notifier->GetCurrentNetworkConnectionType( |
650 network) | 660 network) |
651 : CONNECTION_UNKNOWN; | 661 : CONNECTION_UNKNOWN; |
652 } | 662 } |
653 | 663 |
654 // static | 664 // static |
655 NetworkChangeNotifier::NetworkHandle | 665 NetworkChangeNotifier::NetworkHandle |
656 NetworkChangeNotifier::GetDefaultNetwork() { | 666 NetworkChangeNotifier::GetDefaultNetwork() { |
| 667 DCHECK(AreNetworkHandlesSupported()); |
657 return g_network_change_notifier | 668 return g_network_change_notifier |
658 ? g_network_change_notifier->GetCurrentDefaultNetwork() | 669 ? g_network_change_notifier->GetCurrentDefaultNetwork() |
659 : kInvalidNetworkHandle; | 670 : kInvalidNetworkHandle; |
660 } | 671 } |
661 | 672 |
662 // static | 673 // static |
663 void NetworkChangeNotifier::GetDnsConfig(DnsConfig* config) { | 674 void NetworkChangeNotifier::GetDnsConfig(DnsConfig* config) { |
664 if (!g_network_change_notifier) { | 675 if (!g_network_change_notifier) { |
665 *config = DnsConfig(); | 676 *config = DnsConfig(); |
666 } else { | 677 } else { |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
831 | 842 |
832 void NetworkChangeNotifier::AddMaxBandwidthObserver( | 843 void NetworkChangeNotifier::AddMaxBandwidthObserver( |
833 MaxBandwidthObserver* observer) { | 844 MaxBandwidthObserver* observer) { |
834 if (g_network_change_notifier) { | 845 if (g_network_change_notifier) { |
835 g_network_change_notifier->max_bandwidth_observer_list_->AddObserver( | 846 g_network_change_notifier->max_bandwidth_observer_list_->AddObserver( |
836 observer); | 847 observer); |
837 } | 848 } |
838 } | 849 } |
839 | 850 |
840 void NetworkChangeNotifier::AddNetworkObserver(NetworkObserver* observer) { | 851 void NetworkChangeNotifier::AddNetworkObserver(NetworkObserver* observer) { |
| 852 DCHECK(AreNetworkHandlesSupported()); |
841 if (g_network_change_notifier) { | 853 if (g_network_change_notifier) { |
842 g_network_change_notifier->network_observer_list_->AddObserver(observer); | 854 g_network_change_notifier->network_observer_list_->AddObserver(observer); |
843 } | 855 } |
844 } | 856 } |
845 | 857 |
846 void NetworkChangeNotifier::RemoveIPAddressObserver( | 858 void NetworkChangeNotifier::RemoveIPAddressObserver( |
847 IPAddressObserver* observer) { | 859 IPAddressObserver* observer) { |
848 if (g_network_change_notifier) { | 860 if (g_network_change_notifier) { |
849 g_network_change_notifier->ip_address_observer_list_->RemoveObserver( | 861 g_network_change_notifier->ip_address_observer_list_->RemoveObserver( |
850 observer); | 862 observer); |
(...skipping 25 matching lines...) Expand all Loading... |
876 | 888 |
877 void NetworkChangeNotifier::RemoveMaxBandwidthObserver( | 889 void NetworkChangeNotifier::RemoveMaxBandwidthObserver( |
878 MaxBandwidthObserver* observer) { | 890 MaxBandwidthObserver* observer) { |
879 if (g_network_change_notifier) { | 891 if (g_network_change_notifier) { |
880 g_network_change_notifier->max_bandwidth_observer_list_->RemoveObserver( | 892 g_network_change_notifier->max_bandwidth_observer_list_->RemoveObserver( |
881 observer); | 893 observer); |
882 } | 894 } |
883 } | 895 } |
884 | 896 |
885 void NetworkChangeNotifier::RemoveNetworkObserver(NetworkObserver* observer) { | 897 void NetworkChangeNotifier::RemoveNetworkObserver(NetworkObserver* observer) { |
| 898 DCHECK(AreNetworkHandlesSupported()); |
886 if (g_network_change_notifier) { | 899 if (g_network_change_notifier) { |
887 g_network_change_notifier->network_observer_list_->RemoveObserver(observer); | 900 g_network_change_notifier->network_observer_list_->RemoveObserver(observer); |
888 } | 901 } |
889 } | 902 } |
890 | 903 |
891 // static | 904 // static |
892 void NetworkChangeNotifier::NotifyObserversOfIPAddressChangeForTests() { | 905 void NetworkChangeNotifier::NotifyObserversOfIPAddressChangeForTests() { |
893 if (g_network_change_notifier) | 906 if (g_network_change_notifier) |
894 g_network_change_notifier->NotifyObserversOfIPAddressChangeImpl(); | 907 g_network_change_notifier->NotifyObserversOfIPAddressChangeImpl(); |
895 } | 908 } |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
971 // This default implementation conforms to the NetInfo V3 specification but | 984 // This default implementation conforms to the NetInfo V3 specification but |
972 // should be overridden to provide specific bandwidth data based on the | 985 // should be overridden to provide specific bandwidth data based on the |
973 // platform. | 986 // platform. |
974 *connection_type = GetCurrentConnectionType(); | 987 *connection_type = GetCurrentConnectionType(); |
975 *max_bandwidth_mbps = | 988 *max_bandwidth_mbps = |
976 *connection_type == CONNECTION_NONE | 989 *connection_type == CONNECTION_NONE |
977 ? GetMaxBandwidthForConnectionSubtype(SUBTYPE_NONE) | 990 ? GetMaxBandwidthForConnectionSubtype(SUBTYPE_NONE) |
978 : GetMaxBandwidthForConnectionSubtype(SUBTYPE_UNKNOWN); | 991 : GetMaxBandwidthForConnectionSubtype(SUBTYPE_UNKNOWN); |
979 } | 992 } |
980 | 993 |
| 994 bool NetworkChangeNotifier::AreNetworkHandlesCurrentlySupported() const { |
| 995 return false; |
| 996 } |
| 997 |
981 void NetworkChangeNotifier::GetCurrentConnectedNetworks( | 998 void NetworkChangeNotifier::GetCurrentConnectedNetworks( |
982 NetworkList* network_list) const { | 999 NetworkList* network_list) const { |
983 network_list->clear(); | 1000 network_list->clear(); |
984 } | 1001 } |
985 | 1002 |
986 NetworkChangeNotifier::ConnectionType | 1003 NetworkChangeNotifier::ConnectionType |
987 NetworkChangeNotifier::GetCurrentNetworkConnectionType( | 1004 NetworkChangeNotifier::GetCurrentNetworkConnectionType( |
988 NetworkHandle network) const { | 1005 NetworkHandle network) const { |
989 return CONNECTION_UNKNOWN; | 1006 return CONNECTION_UNKNOWN; |
990 } | 1007 } |
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1145 | 1162 |
1146 NetworkChangeNotifier::DisableForTest::~DisableForTest() { | 1163 NetworkChangeNotifier::DisableForTest::~DisableForTest() { |
1147 DCHECK(!g_network_change_notifier); | 1164 DCHECK(!g_network_change_notifier); |
1148 g_network_change_notifier = network_change_notifier_; | 1165 g_network_change_notifier = network_change_notifier_; |
1149 } | 1166 } |
1150 | 1167 |
1151 void NetworkChangeNotifier::DNSObserver::OnInitialDNSConfigRead() { | 1168 void NetworkChangeNotifier::DNSObserver::OnInitialDNSConfigRead() { |
1152 } | 1169 } |
1153 | 1170 |
1154 } // namespace net | 1171 } // namespace net |
OLD | NEW |