| 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 "chromeos/network/network_state_handler.h" | 5 #include "chromeos/network/network_state_handler.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 493 const NetworkState* NetworkStateHandler::GetNetworkStateFromGuid( | 493 const NetworkState* NetworkStateHandler::GetNetworkStateFromGuid( |
| 494 const std::string& guid) const { | 494 const std::string& guid) const { |
| 495 DCHECK(!guid.empty()); | 495 DCHECK(!guid.empty()); |
| 496 return GetModifiableNetworkStateFromGuid(guid); | 496 return GetModifiableNetworkStateFromGuid(guid); |
| 497 } | 497 } |
| 498 | 498 |
| 499 void NetworkStateHandler::AddTetherNetworkState(const std::string& guid, | 499 void NetworkStateHandler::AddTetherNetworkState(const std::string& guid, |
| 500 const std::string& name, | 500 const std::string& name, |
| 501 const std::string& carrier, | 501 const std::string& carrier, |
| 502 int battery_percentage, | 502 int battery_percentage, |
| 503 int signal_strength) { | 503 int signal_strength, |
| 504 bool has_connected_to_host) { |
| 504 DCHECK(!guid.empty()); | 505 DCHECK(!guid.empty()); |
| 505 DCHECK(battery_percentage >= 0 && battery_percentage <= 100); | 506 DCHECK(battery_percentage >= 0 && battery_percentage <= 100); |
| 506 DCHECK(signal_strength >= 0 && signal_strength <= 100); | 507 DCHECK(signal_strength >= 0 && signal_strength <= 100); |
| 507 | 508 |
| 508 if (tether_technology_state_ != TECHNOLOGY_ENABLED) { | 509 if (tether_technology_state_ != TECHNOLOGY_ENABLED) { |
| 509 NET_LOG(ERROR) << "AddTetherNetworkState() called when Tether networks " | 510 NET_LOG(ERROR) << "AddTetherNetworkState() called when Tether networks " |
| 510 << "are not enabled. Cannot add NetworkState."; | 511 << "are not enabled. Cannot add NetworkState."; |
| 511 return; | 512 return; |
| 512 } | 513 } |
| 513 | 514 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 524 | 525 |
| 525 tether_network_state->set_name(name); | 526 tether_network_state->set_name(name); |
| 526 tether_network_state->set_type(kTypeTether); | 527 tether_network_state->set_type(kTypeTether); |
| 527 tether_network_state->SetGuid(guid); | 528 tether_network_state->SetGuid(guid); |
| 528 tether_network_state->set_visible(true); | 529 tether_network_state->set_visible(true); |
| 529 tether_network_state->set_update_received(); | 530 tether_network_state->set_update_received(); |
| 530 tether_network_state->set_update_requested(false); | 531 tether_network_state->set_update_requested(false); |
| 531 tether_network_state->set_connectable(true); | 532 tether_network_state->set_connectable(true); |
| 532 tether_network_state->set_carrier(carrier); | 533 tether_network_state->set_carrier(carrier); |
| 533 tether_network_state->set_battery_percentage(battery_percentage); | 534 tether_network_state->set_battery_percentage(battery_percentage); |
| 534 // TODO(khorimoto): Add this field as a parameter to this function and set it | 535 tether_network_state->set_tether_has_connected_to_host(has_connected_to_host); |
| 535 // accordingly from the Tether component. | |
| 536 tether_network_state->set_tether_has_connected_to_host(false); | |
| 537 tether_network_state->set_signal_strength(signal_strength); | 536 tether_network_state->set_signal_strength(signal_strength); |
| 538 | 537 |
| 539 tether_network_list_.push_back(std::move(tether_network_state)); | 538 tether_network_list_.push_back(std::move(tether_network_state)); |
| 540 NotifyNetworkListChanged(); | 539 NotifyNetworkListChanged(); |
| 541 } | 540 } |
| 542 | 541 |
| 543 bool NetworkStateHandler::UpdateTetherNetworkProperties( | 542 bool NetworkStateHandler::UpdateTetherNetworkProperties( |
| 544 const std::string& guid, | 543 const std::string& guid, |
| 545 const std::string& carrier, | 544 const std::string& carrier, |
| 546 int battery_percentage, | 545 int battery_percentage, |
| 547 int signal_strength) { | 546 int signal_strength) { |
| 548 if (tether_technology_state_ != TECHNOLOGY_ENABLED) { | 547 if (tether_technology_state_ != TECHNOLOGY_ENABLED) { |
| 549 NET_LOG(ERROR) << "UpdateTetherNetworkProperties() called when Tether " | 548 NET_LOG(ERROR) << "UpdateTetherNetworkProperties() called when Tether " |
| 550 << "networks are not enabled. Cannot update."; | 549 << "networks are not enabled. Cannot update."; |
| 551 return false; | 550 return false; |
| 552 } | 551 } |
| 553 | 552 |
| 554 NetworkState* tether_network_state = GetModifiableNetworkStateFromGuid(guid); | 553 NetworkState* tether_network_state = GetModifiableNetworkStateFromGuid(guid); |
| 555 if (!tether_network_state) | 554 if (!tether_network_state) { |
| 555 NET_LOG(ERROR) << "UpdateTetherNetworkProperties(): No NetworkState for " |
| 556 << "Tether network with GUID \"" << guid << "\"."; |
| 556 return false; | 557 return false; |
| 558 } |
| 557 | 559 |
| 558 tether_network_state->set_carrier(carrier); | 560 tether_network_state->set_carrier(carrier); |
| 559 tether_network_state->set_battery_percentage(battery_percentage); | 561 tether_network_state->set_battery_percentage(battery_percentage); |
| 560 tether_network_state->set_signal_strength(signal_strength); | 562 tether_network_state->set_signal_strength(signal_strength); |
| 561 | 563 |
| 562 NotifyNetworkListChanged(); | 564 NotifyNetworkListChanged(); |
| 563 return true; | 565 return true; |
| 564 } | 566 } |
| 565 | 567 |
| 566 void NetworkStateHandler::RemoveTetherNetworkState(const std::string& guid) { | 568 bool NetworkStateHandler::SetTetherNetworkHasConnectedToHost( |
| 569 const std::string& guid) { |
| 570 NetworkState* tether_network_state = GetModifiableNetworkStateFromGuid(guid); |
| 571 if (!tether_network_state) { |
| 572 NET_LOG(ERROR) << "SetTetherNetworkHasConnectedToHost(): No NetworkState " |
| 573 << "for Tether network with GUID \"" << guid << "\"."; |
| 574 return false; |
| 575 } |
| 576 |
| 577 if (tether_network_state->tether_has_connected_to_host()) { |
| 578 return false; |
| 579 } |
| 580 |
| 581 tether_network_state->set_tether_has_connected_to_host(true); |
| 582 NotifyNetworkListChanged(); |
| 583 return true; |
| 584 } |
| 585 |
| 586 bool NetworkStateHandler::RemoveTetherNetworkState(const std::string& guid) { |
| 567 for (auto iter = tether_network_list_.begin(); | 587 for (auto iter = tether_network_list_.begin(); |
| 568 iter != tether_network_list_.end(); ++iter) { | 588 iter != tether_network_list_.end(); ++iter) { |
| 569 if (iter->get()->AsNetworkState()->guid() == guid) { | 589 if (iter->get()->AsNetworkState()->guid() == guid) { |
| 570 NetworkState* wifi_network = GetModifiableNetworkStateFromGuid( | 590 NetworkState* wifi_network = GetModifiableNetworkStateFromGuid( |
| 571 iter->get()->AsNetworkState()->tether_guid()); | 591 iter->get()->AsNetworkState()->tether_guid()); |
| 572 if (wifi_network) | 592 if (wifi_network) |
| 573 wifi_network->set_tether_guid(std::string()); | 593 wifi_network->set_tether_guid(std::string()); |
| 574 | 594 |
| 575 tether_network_list_.erase(iter); | 595 tether_network_list_.erase(iter); |
| 576 NotifyNetworkListChanged(); | 596 NotifyNetworkListChanged(); |
| 577 return; | 597 return true; |
| 578 } | 598 } |
| 579 } | 599 } |
| 600 |
| 601 return false; |
| 580 } | 602 } |
| 581 | 603 |
| 582 bool NetworkStateHandler::AssociateTetherNetworkStateWithWifiNetwork( | 604 bool NetworkStateHandler::AssociateTetherNetworkStateWithWifiNetwork( |
| 583 const std::string& tether_network_guid, | 605 const std::string& tether_network_guid, |
| 584 const std::string& wifi_network_guid) { | 606 const std::string& wifi_network_guid) { |
| 585 if (tether_technology_state_ != TECHNOLOGY_ENABLED) { | 607 if (tether_technology_state_ != TECHNOLOGY_ENABLED) { |
| 586 NET_LOG(ERROR) << "AssociateTetherNetworkStateWithWifiNetwork() called " | 608 NET_LOG(ERROR) << "AssociateTetherNetworkStateWithWifiNetwork() called " |
| 587 << "when Tether networks are not enabled. Cannot " | 609 << "when Tether networks are not enabled. Cannot " |
| 588 << "associate."; | 610 << "associate."; |
| 589 return false; | 611 return false; |
| (...skipping 831 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1421 if (type.MatchesType(shill::kTypeVPN)) | 1443 if (type.MatchesType(shill::kTypeVPN)) |
| 1422 technologies.emplace_back(shill::kTypeVPN); | 1444 technologies.emplace_back(shill::kTypeVPN); |
| 1423 if (type.MatchesType(kTypeTether)) | 1445 if (type.MatchesType(kTypeTether)) |
| 1424 technologies.emplace_back(kTypeTether); | 1446 technologies.emplace_back(kTypeTether); |
| 1425 | 1447 |
| 1426 CHECK_GT(technologies.size(), 0ul); | 1448 CHECK_GT(technologies.size(), 0ul); |
| 1427 return technologies; | 1449 return technologies; |
| 1428 } | 1450 } |
| 1429 | 1451 |
| 1430 } // namespace chromeos | 1452 } // namespace chromeos |
| OLD | NEW |