Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(125)

Side by Side Diff: chrome/browser/chromeos/cros/network_library.cc

Issue 6292008: Added flags to prevent messing with network connections while 3G device is be... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "chrome/browser/chromeos/cros/network_library.h" 5 #include "chrome/browser/chromeos/cros/network_library.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 9
10 #include "app/l10n_util.h" 10 #include "app/l10n_util.h"
(...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after
835 : network_manager_monitor_(NULL), 835 : network_manager_monitor_(NULL),
836 data_plan_monitor_(NULL), 836 data_plan_monitor_(NULL),
837 ethernet_(NULL), 837 ethernet_(NULL),
838 wifi_(NULL), 838 wifi_(NULL),
839 cellular_(NULL), 839 cellular_(NULL),
840 available_devices_(0), 840 available_devices_(0),
841 enabled_devices_(0), 841 enabled_devices_(0),
842 connected_devices_(0), 842 connected_devices_(0),
843 wifi_scanning_(false), 843 wifi_scanning_(false),
844 offline_mode_(false), 844 offline_mode_(false),
845 is_locked_(false),
845 update_task_(NULL) { 846 update_task_(NULL) {
846 if (EnsureCrosLoaded()) { 847 if (EnsureCrosLoaded()) {
847 Init(); 848 Init();
848 network_manager_monitor_ = 849 network_manager_monitor_ =
849 MonitorNetworkManager(&NetworkManagerStatusChangedHandler, 850 MonitorNetworkManager(&NetworkManagerStatusChangedHandler,
850 this); 851 this);
851 data_plan_monitor_ = MonitorCellularDataPlan(&DataPlanUpdateHandler, 852 data_plan_monitor_ = MonitorCellularDataPlan(&DataPlanUpdateHandler,
852 this); 853 this);
853 network_login_observer_.reset(new NetworkLoginObserver(this)); 854 network_login_observer_.reset(new NetworkLoginObserver(this));
854 } else { 855 } else {
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
933 map_iter->second->RemoveObserver(observer); 934 map_iter->second->RemoveObserver(observer);
934 if (!map_iter->second->size()) { 935 if (!map_iter->second->size()) {
935 delete map_iter->second; 936 delete map_iter->second;
936 network_observers_.erase(map_iter++); 937 network_observers_.erase(map_iter++);
937 } else { 938 } else {
938 ++map_iter; 939 ++map_iter;
939 } 940 }
940 } 941 }
941 } 942 }
942 943
944 virtual void Lock() {
945 if (is_locked_)
946 return;
947 is_locked_ = true;
948 NotifyNetworkManagerChanged();
949 }
950
951 virtual void Unlock() {
952 DCHECK(is_locked_);
953 if (!is_locked_)
954 return;
955 is_locked_ = false;
956 NotifyNetworkManagerChanged();
957 }
958
959 virtual bool IsLocked() {
960 return is_locked_;
961 }
962
943 virtual void AddCellularDataPlanObserver(CellularDataPlanObserver* observer) { 963 virtual void AddCellularDataPlanObserver(CellularDataPlanObserver* observer) {
944 if (!data_plan_observers_.HasObserver(observer)) 964 if (!data_plan_observers_.HasObserver(observer))
945 data_plan_observers_.AddObserver(observer); 965 data_plan_observers_.AddObserver(observer);
946 } 966 }
947 967
948 virtual void RemoveCellularDataPlanObserver( 968 virtual void RemoveCellularDataPlanObserver(
949 CellularDataPlanObserver* observer) { 969 CellularDataPlanObserver* observer) {
950 data_plan_observers_.RemoveObserver(observer); 970 data_plan_observers_.RemoveObserver(observer);
951 } 971 }
952 972
(...skipping 340 matching lines...) Expand 10 before | Expand all | Expand 10 after
1293 } 1313 }
1294 if (cellular_ && cellular_->connected()) { 1314 if (cellular_ && cellular_->connected()) {
1295 cellular_->set_active(true); 1315 cellular_->set_active(true);
1296 return cellular_; 1316 return cellular_;
1297 } 1317 }
1298 // END BUG 9310 WORKAROUND 1318 // END BUG 9310 WORKAROUND
1299 return NULL; 1319 return NULL;
1300 } 1320 }
1301 1321
1302 virtual void EnableEthernetNetworkDevice(bool enable) { 1322 virtual void EnableEthernetNetworkDevice(bool enable) {
1323 if (is_locked_)
1324 return;
1303 EnableNetworkDeviceType(TYPE_ETHERNET, enable); 1325 EnableNetworkDeviceType(TYPE_ETHERNET, enable);
1304 } 1326 }
1305 1327
1306 virtual void EnableWifiNetworkDevice(bool enable) { 1328 virtual void EnableWifiNetworkDevice(bool enable) {
1329 if (is_locked_)
1330 return;
1307 EnableNetworkDeviceType(TYPE_WIFI, enable); 1331 EnableNetworkDeviceType(TYPE_WIFI, enable);
1308 } 1332 }
1309 1333
1310 virtual void EnableCellularNetworkDevice(bool enable) { 1334 virtual void EnableCellularNetworkDevice(bool enable) {
1335 if (is_locked_)
1336 return;
1311 EnableNetworkDeviceType(TYPE_CELLULAR, enable); 1337 EnableNetworkDeviceType(TYPE_CELLULAR, enable);
1312 } 1338 }
1313 1339
1314 virtual void EnableOfflineMode(bool enable) { 1340 virtual void EnableOfflineMode(bool enable) {
1315 if (!EnsureCrosLoaded()) 1341 if (!EnsureCrosLoaded())
1316 return; 1342 return;
1317 1343
1318 // If network device is already enabled/disabled, then don't do anything. 1344 // If network device is already enabled/disabled, then don't do anything.
1319 if (enable && offline_mode_) { 1345 if (enable && offline_mode_) {
1320 VLOG(1) << "Trying to enable offline mode when it's already enabled."; 1346 VLOG(1) << "Trying to enable offline mode when it's already enabled.";
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
1590 } 1616 }
1591 1617
1592 void Init() { 1618 void Init() {
1593 // First, get the currently available networks. This data is cached 1619 // First, get the currently available networks. This data is cached
1594 // on the connman side, so the call should be quick. 1620 // on the connman side, so the call should be quick.
1595 VLOG(1) << "Getting initial CrOS network info."; 1621 VLOG(1) << "Getting initial CrOS network info.";
1596 UpdateSystemInfo(); 1622 UpdateSystemInfo();
1597 } 1623 }
1598 1624
1599 void InitTestData() { 1625 void InitTestData() {
1626 is_locked_ = true;
1600 ethernet_ = new EthernetNetwork(); 1627 ethernet_ = new EthernetNetwork();
1601 ethernet_->set_connected(true); 1628 ethernet_->set_connected(true);
1602 ethernet_->set_service_path("eth1"); 1629 ethernet_->set_service_path("eth1");
1603 1630
1604 STLDeleteElements(&wifi_networks_); 1631 STLDeleteElements(&wifi_networks_);
1605 wifi_networks_.clear(); 1632 wifi_networks_.clear();
1606 WifiNetwork* wifi1 = new WifiNetwork(); 1633 WifiNetwork* wifi1 = new WifiNetwork();
1607 wifi1->set_service_path("fw1"); 1634 wifi1->set_service_path("fw1");
1608 wifi1->set_name("Fake Wifi 1"); 1635 wifi1->set_name("Fake Wifi 1");
1609 wifi1->set_strength(90); 1636 wifi1->set_strength(90);
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
1907 1934
1908 // The current connected network devices. Bitwise flag of ConnectionTypes. 1935 // The current connected network devices. Bitwise flag of ConnectionTypes.
1909 int connected_devices_; 1936 int connected_devices_;
1910 1937
1911 // True if we are currently scanning for wifi networks. 1938 // True if we are currently scanning for wifi networks.
1912 bool wifi_scanning_; 1939 bool wifi_scanning_;
1913 1940
1914 // Currently not implemented. TODO: implement or eliminate. 1941 // Currently not implemented. TODO: implement or eliminate.
1915 bool offline_mode_; 1942 bool offline_mode_;
1916 1943
1944 // True if access network library is locked.
1945 bool is_locked_;
1946
1917 // Delayed task to retrieve the network information. 1947 // Delayed task to retrieve the network information.
1918 CancelableTask* update_task_; 1948 CancelableTask* update_task_;
1919 1949
1920 // Cellular plan payment time. 1950 // Cellular plan payment time.
1921 base::Time cellular_plan_payment_time_; 1951 base::Time cellular_plan_payment_time_;
1922 1952
1923 DISALLOW_COPY_AND_ASSIGN(NetworkLibraryImpl); 1953 DISALLOW_COPY_AND_ASSIGN(NetworkLibraryImpl);
1924 }; 1954 };
1925 1955
1926 class NetworkLibraryStubImpl : public NetworkLibrary { 1956 class NetworkLibraryStubImpl : public NetworkLibrary {
1927 public: 1957 public:
1928 NetworkLibraryStubImpl() 1958 NetworkLibraryStubImpl()
1929 : ip_address_("1.1.1.1"), 1959 : ip_address_("1.1.1.1"),
1930 ethernet_(new EthernetNetwork()), 1960 ethernet_(new EthernetNetwork()),
1931 wifi_(NULL), 1961 wifi_(NULL),
1932 cellular_(NULL) { 1962 cellular_(NULL) {
1933 } 1963 }
1934 ~NetworkLibraryStubImpl() { if (ethernet_) delete ethernet_; } 1964 ~NetworkLibraryStubImpl() { if (ethernet_) delete ethernet_; }
1935 virtual void AddNetworkManagerObserver(NetworkManagerObserver* observer) {} 1965 virtual void AddNetworkManagerObserver(NetworkManagerObserver* observer) {}
1936 virtual void RemoveNetworkManagerObserver(NetworkManagerObserver* observer) {} 1966 virtual void RemoveNetworkManagerObserver(NetworkManagerObserver* observer) {}
1937 virtual void AddNetworkObserver(const std::string& service_path, 1967 virtual void AddNetworkObserver(const std::string& service_path,
1938 NetworkObserver* observer) {} 1968 NetworkObserver* observer) {}
1939 virtual void RemoveNetworkObserver(const std::string& service_path, 1969 virtual void RemoveNetworkObserver(const std::string& service_path,
1940 NetworkObserver* observer) {} 1970 NetworkObserver* observer) {}
1941 virtual void RemoveObserverForAllNetworks(NetworkObserver* observer) {} 1971 virtual void RemoveObserverForAllNetworks(NetworkObserver* observer) {}
1972 virtual void Lock() {}
1973 virtual void Unlock() {}
1974 virtual bool IsLocked() { return true; }
1942 virtual void AddCellularDataPlanObserver( 1975 virtual void AddCellularDataPlanObserver(
1943 CellularDataPlanObserver* observer) {} 1976 CellularDataPlanObserver* observer) {}
1944 virtual void RemoveCellularDataPlanObserver( 1977 virtual void RemoveCellularDataPlanObserver(
1945 CellularDataPlanObserver* observer) {} 1978 CellularDataPlanObserver* observer) {}
1946 virtual const EthernetNetwork* ethernet_network() const { 1979 virtual const EthernetNetwork* ethernet_network() const {
1947 return ethernet_; 1980 return ethernet_;
1948 } 1981 }
1949 virtual bool ethernet_connecting() const { return false; } 1982 virtual bool ethernet_connecting() const { return false; }
1950 virtual bool ethernet_connected() const { return true; } 1983 virtual bool ethernet_connected() const { return true; }
1951 virtual const WifiNetwork* wifi_network() const { 1984 virtual const WifiNetwork* wifi_network() const {
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
2044 return new NetworkLibraryStubImpl(); 2077 return new NetworkLibraryStubImpl();
2045 else 2078 else
2046 return new NetworkLibraryImpl(); 2079 return new NetworkLibraryImpl();
2047 } 2080 }
2048 2081
2049 } // namespace chromeos 2082 } // namespace chromeos
2050 2083
2051 // Allows InvokeLater without adding refcounting. This class is a Singleton and 2084 // Allows InvokeLater without adding refcounting. This class is a Singleton and
2052 // won't be deleted until it's last InvokeLater is run. 2085 // won't be deleted until it's last InvokeLater is run.
2053 DISABLE_RUNNABLE_METHOD_REFCOUNT(chromeos::NetworkLibraryImpl); 2086 DISABLE_RUNNABLE_METHOD_REFCOUNT(chromeos::NetworkLibraryImpl);
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/cros/network_library.h ('k') | chrome/browser/chromeos/dom_ui/internet_options_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698