| OLD | NEW |
| 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 #ifndef CHROME_BROWSER_CHROMEOS_CROS_NETWORK_LIBRARY_H_ | 5 #ifndef CHROME_BROWSER_CHROMEOS_CROS_NETWORK_LIBRARY_H_ |
| 6 #define CHROME_BROWSER_CHROMEOS_CROS_NETWORK_LIBRARY_H_ | 6 #define CHROME_BROWSER_CHROMEOS_CROS_NETWORK_LIBRARY_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 EthernetNetwork() : Network() {} | 70 EthernetNetwork() : Network() {} |
| 71 }; | 71 }; |
| 72 | 72 |
| 73 class WirelessNetwork : public Network { | 73 class WirelessNetwork : public Network { |
| 74 public: | 74 public: |
| 75 // WirelessNetwork are sorted by name. | 75 // WirelessNetwork are sorted by name. |
| 76 bool operator< (const WirelessNetwork& other) const { | 76 bool operator< (const WirelessNetwork& other) const { |
| 77 return name_ < other.name(); | 77 return name_ < other.name(); |
| 78 } | 78 } |
| 79 | 79 |
| 80 // We frequently want to compare networks by service path. |
| 81 struct ServicePathEq { |
| 82 explicit ServicePathEq(const std::string& path_in) : path(path_in) {} |
| 83 bool operator()(const WirelessNetwork& a) { |
| 84 return a.service_path().compare(path) == 0; |
| 85 } |
| 86 const std::string& path; |
| 87 }; |
| 88 |
| 80 const std::string& name() const { return name_; } | 89 const std::string& name() const { return name_; } |
| 81 int strength() const { return strength_; } | 90 int strength() const { return strength_; } |
| 82 bool auto_connect() const { return auto_connect_; } | 91 bool auto_connect() const { return auto_connect_; } |
| 83 | 92 |
| 84 void set_name(const std::string& name) { name_ = name; } | 93 void set_name(const std::string& name) { name_ = name; } |
| 85 void set_auto_connect(bool auto_connect) { auto_connect_ = auto_connect; } | 94 void set_auto_connect(bool auto_connect) { auto_connect_ = auto_connect; } |
| 86 | 95 |
| 87 // Network overrides. | 96 // Network overrides. |
| 88 virtual void Clear(); | 97 virtual void Clear(); |
| 89 virtual void ConfigureFromService(const ServiceInfo& service); | 98 virtual void ConfigureFromService(const ServiceInfo& service); |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 | 291 |
| 283 // Returns the list of remembered wifi networks. | 292 // Returns the list of remembered wifi networks. |
| 284 virtual const WifiNetworkVector& remembered_wifi_networks() const = 0; | 293 virtual const WifiNetworkVector& remembered_wifi_networks() const = 0; |
| 285 | 294 |
| 286 // Returns the current list of cellular networks. | 295 // Returns the current list of cellular networks. |
| 287 virtual const CellularNetworkVector& cellular_networks() const = 0; | 296 virtual const CellularNetworkVector& cellular_networks() const = 0; |
| 288 | 297 |
| 289 // Returns the list of remembered cellular networks. | 298 // Returns the list of remembered cellular networks. |
| 290 virtual const CellularNetworkVector& remembered_cellular_networks() const = 0; | 299 virtual const CellularNetworkVector& remembered_cellular_networks() const = 0; |
| 291 | 300 |
| 301 // Search the current list of networks by path and if the network |
| 302 // is available, copy the result and return true. |
| 303 virtual bool FindWifiNetworkByPath(const std::string& path, |
| 304 WifiNetwork* result) const = 0; |
| 305 virtual bool FindCellularNetworkByPath(const std::string& path, |
| 306 CellularNetwork* result) const = 0; |
| 307 |
| 292 // Request a scan for new wifi networks. | 308 // Request a scan for new wifi networks. |
| 293 virtual void RequestWifiScan() = 0; | 309 virtual void RequestWifiScan() = 0; |
| 294 | 310 |
| 295 // Attempt to connect to the preferred network if available and it is set up. | 311 // Attempt to connect to the preferred network if available and it is set up. |
| 296 // This call will return true if connection is started. | 312 // This call will return true if connection is started. |
| 297 // If the preferred network is not available or not setup, returns false. | 313 // If the preferred network is not available or not setup, returns false. |
| 298 // Note: For dogfood purposes, we hardcode the preferred network to Google-A. | 314 // Note: For dogfood purposes, we hardcode the preferred network to Google-A. |
| 299 virtual bool ConnectToPreferredNetworkIfAvailable() = 0; | 315 virtual bool ConnectToPreferredNetworkIfAvailable() = 0; |
| 300 | 316 |
| 301 // Returns true if we are currently connected to the preferred network. | 317 // Returns true if we are currently connected to the preferred network. |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 409 } | 425 } |
| 410 | 426 |
| 411 virtual const CellularNetworkVector& cellular_networks() const { | 427 virtual const CellularNetworkVector& cellular_networks() const { |
| 412 return cellular_networks_; | 428 return cellular_networks_; |
| 413 } | 429 } |
| 414 | 430 |
| 415 virtual const CellularNetworkVector& remembered_cellular_networks() const { | 431 virtual const CellularNetworkVector& remembered_cellular_networks() const { |
| 416 return remembered_cellular_networks_; | 432 return remembered_cellular_networks_; |
| 417 } | 433 } |
| 418 | 434 |
| 435 virtual bool FindWifiNetworkByPath(const std::string& path, |
| 436 WifiNetwork* network) const; |
| 437 virtual bool FindCellularNetworkByPath(const std::string& path, |
| 438 CellularNetwork* network) const; |
| 439 |
| 419 virtual void RequestWifiScan(); | 440 virtual void RequestWifiScan(); |
| 420 virtual bool ConnectToPreferredNetworkIfAvailable(); | 441 virtual bool ConnectToPreferredNetworkIfAvailable(); |
| 421 virtual bool PreferredNetworkConnected(); | 442 virtual bool PreferredNetworkConnected(); |
| 422 virtual bool PreferredNetworkFailed(); | 443 virtual bool PreferredNetworkFailed(); |
| 423 virtual void ConnectToWifiNetwork(WifiNetwork network, | 444 virtual void ConnectToWifiNetwork(WifiNetwork network, |
| 424 const string16& password, | 445 const string16& password, |
| 425 const string16& identity, | 446 const string16& identity, |
| 426 const string16& certpath); | 447 const string16& certpath); |
| 427 virtual void ConnectToWifiNetwork(const string16& ssid, | 448 virtual void ConnectToWifiNetwork(const string16& ssid, |
| 428 const string16& password, | 449 const string16& password, |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 486 // monitoring of network changes. | 507 // monitoring of network changes. |
| 487 void Init(); | 508 void Init(); |
| 488 | 509 |
| 489 // Force an update of the system info. | 510 // Force an update of the system info. |
| 490 void UpdateSystemInfo(); | 511 void UpdateSystemInfo(); |
| 491 | 512 |
| 492 // Returns the preferred wifi network. | 513 // Returns the preferred wifi network. |
| 493 WifiNetwork* GetPreferredNetwork(); | 514 WifiNetwork* GetPreferredNetwork(); |
| 494 | 515 |
| 495 // Gets the WifiNetwork with the given name. Returns NULL if not found. | 516 // Gets the WifiNetwork with the given name. Returns NULL if not found. |
| 517 // Only used by GetPreferredNetwork() to lookup "Google" and "GoogleA" (hack) |
| 496 WifiNetwork* GetWifiNetworkByName(const std::string& name); | 518 WifiNetwork* GetWifiNetworkByName(const std::string& name); |
| 497 | 519 |
| 498 // Gets the WifiNetwork with the given path. Returns NULL if not found. | 520 // Gets the WirelessNetwork (WifiNetwork or CellularNetwork) by path |
| 499 WifiNetwork* GetWifiNetworkByPath(const std::string& path); | 521 template<typename T> |
| 522 T* GetWirelessNetworkByPath(std::vector<T>& networks, |
| 523 const std::string& path); |
| 524 template<typename T> |
| 525 const T* GetWirelessNetworkByPath(const std::vector<T>& networks, |
| 526 const std::string& path) const; |
| 500 | 527 |
| 501 // Enables/disables the specified network device. | 528 // Enables/disables the specified network device. |
| 502 void EnableNetworkDeviceType(ConnectionType device, bool enable); | 529 void EnableNetworkDeviceType(ConnectionType device, bool enable); |
| 503 | 530 |
| 504 // Update the network with the SystemInfo object. | 531 // Update the network with the SystemInfo object. |
| 505 // This will notify all the Observers. | 532 // This will notify all the Observers. |
| 506 void UpdateNetworkStatus(SystemInfo* system); | 533 void UpdateNetworkStatus(SystemInfo* system); |
| 507 | 534 |
| 508 // Checks network traffic to see if there is any uploading. | 535 // Checks network traffic to see if there is any uploading. |
| 509 // If there is download traffic, then true is passed in for download. | 536 // If there is download traffic, then true is passed in for download. |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 568 int connected_devices_; | 595 int connected_devices_; |
| 569 | 596 |
| 570 bool offline_mode_; | 597 bool offline_mode_; |
| 571 | 598 |
| 572 DISALLOW_COPY_AND_ASSIGN(NetworkLibraryImpl); | 599 DISALLOW_COPY_AND_ASSIGN(NetworkLibraryImpl); |
| 573 }; | 600 }; |
| 574 | 601 |
| 575 } // namespace chromeos | 602 } // namespace chromeos |
| 576 | 603 |
| 577 #endif // CHROME_BROWSER_CHROMEOS_CROS_NETWORK_LIBRARY_H_ | 604 #endif // CHROME_BROWSER_CHROMEOS_CROS_NETWORK_LIBRARY_H_ |
| OLD | NEW |