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 "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/format_macros.h" | 8 #include "base/format_macros.h" |
9 #include "base/location.h" | 9 #include "base/location.h" |
10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 } | 375 } |
376 } | 376 } |
377 | 377 |
378 //------------------------------------------------------------------------------ | 378 //------------------------------------------------------------------------------ |
379 // ShillPropertyHandler::Delegate overrides | 379 // ShillPropertyHandler::Delegate overrides |
380 | 380 |
381 void NetworkStateHandler::UpdateManagedList(ManagedState::ManagedType type, | 381 void NetworkStateHandler::UpdateManagedList(ManagedState::ManagedType type, |
382 const base::ListValue& entries) { | 382 const base::ListValue& entries) { |
383 ManagedStateList* managed_list = GetManagedList(type); | 383 ManagedStateList* managed_list = GetManagedList(type); |
384 NET_LOG_DEBUG(base::StringPrintf("UpdateManagedList:%d", type), | 384 NET_LOG_DEBUG(base::StringPrintf("UpdateManagedList:%d", type), |
385 base::StringPrintf("%"PRIuS, entries.GetSize())); | 385 base::StringPrintf("%" PRIuS, entries.GetSize())); |
386 // Create a map of existing entries. Assumes all entries in |managed_list| | 386 // Create a map of existing entries. Assumes all entries in |managed_list| |
387 // are unique. | 387 // are unique. |
388 std::map<std::string, ManagedState*> managed_map; | 388 std::map<std::string, ManagedState*> managed_map; |
389 for (ManagedStateList::iterator iter = managed_list->begin(); | 389 for (ManagedStateList::iterator iter = managed_list->begin(); |
390 iter != managed_list->end(); ++iter) { | 390 iter != managed_list->end(); ++iter) { |
391 ManagedState* managed = *iter; | 391 ManagedState* managed = *iter; |
392 DCHECK(!ContainsKey(managed_map, managed->path())); | 392 DCHECK(!ContainsKey(managed_map, managed->path())); |
393 managed_map[managed->path()] = managed; | 393 managed_map[managed->path()] = managed; |
394 } | 394 } |
395 // Clear the list (pointers are temporarily owned by managed_map). | 395 // Clear the list (pointers are temporarily owned by managed_map). |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
545 NET_LOG_DEBUG("NotifyManagerPropertyChanged", ""); | 545 NET_LOG_DEBUG("NotifyManagerPropertyChanged", ""); |
546 FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_, | 546 FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_, |
547 NetworkManagerChanged()); | 547 NetworkManagerChanged()); |
548 } | 548 } |
549 | 549 |
550 void NetworkStateHandler::ManagedStateListChanged( | 550 void NetworkStateHandler::ManagedStateListChanged( |
551 ManagedState::ManagedType type) { | 551 ManagedState::ManagedType type) { |
552 if (type == ManagedState::MANAGED_TYPE_NETWORK) { | 552 if (type == ManagedState::MANAGED_TYPE_NETWORK) { |
553 // Notify observers that the list of networks has changed. | 553 // Notify observers that the list of networks has changed. |
554 NET_LOG_EVENT("NetworkListChanged", | 554 NET_LOG_EVENT("NetworkListChanged", |
555 base::StringPrintf("Size:%"PRIuS, network_list_.size())); | 555 base::StringPrintf("Size:%" PRIuS, network_list_.size())); |
556 FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_, | 556 FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_, |
557 NetworkListChanged()); | 557 NetworkListChanged()); |
558 // The list order may have changed, so check if the default network changed. | 558 // The list order may have changed, so check if the default network changed. |
559 if (CheckDefaultNetworkChanged()) | 559 if (CheckDefaultNetworkChanged()) |
560 OnDefaultNetworkChanged(); | 560 OnDefaultNetworkChanged(); |
561 } else if (type == ManagedState::MANAGED_TYPE_FAVORITE) { | 561 } else if (type == ManagedState::MANAGED_TYPE_FAVORITE) { |
562 NET_LOG_DEBUG("FavoriteListChanged", | 562 NET_LOG_DEBUG("FavoriteListChanged", |
563 base::StringPrintf("Size:%"PRIuS, favorite_list_.size())); | 563 base::StringPrintf("Size:%" PRIuS, favorite_list_.size())); |
564 FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_, | 564 FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_, |
565 NetworkListChanged()); | 565 NetworkListChanged()); |
566 } else if (type == ManagedState::MANAGED_TYPE_DEVICE) { | 566 } else if (type == ManagedState::MANAGED_TYPE_DEVICE) { |
567 NET_LOG_DEBUG("DeviceListChanged", | 567 NET_LOG_DEBUG("DeviceListChanged", |
568 base::StringPrintf("Size:%"PRIuS, device_list_.size())); | 568 base::StringPrintf("Size:%" PRIuS, device_list_.size())); |
569 FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_, | 569 FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_, |
570 DeviceListChanged()); | 570 DeviceListChanged()); |
571 } else { | 571 } else { |
572 NOTREACHED(); | 572 NOTREACHED(); |
573 } | 573 } |
574 } | 574 } |
575 | 575 |
576 //------------------------------------------------------------------------------ | 576 //------------------------------------------------------------------------------ |
577 // Private methods | 577 // Private methods |
578 | 578 |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
662 connecting_network_.clear(); | 662 connecting_network_.clear(); |
663 NET_LOG_EVENT("ClearConnectingNetwork", base::StringPrintf( | 663 NET_LOG_EVENT("ClearConnectingNetwork", base::StringPrintf( |
664 "%s:%s", GetManagedStateLogName(network).c_str(), | 664 "%s:%s", GetManagedStateLogName(network).c_str(), |
665 network->connection_state().c_str())); | 665 network->connection_state().c_str())); |
666 } | 666 } |
667 } | 667 } |
668 | 668 |
669 void NetworkStateHandler::ScanCompleted(const std::string& type) { | 669 void NetworkStateHandler::ScanCompleted(const std::string& type) { |
670 size_t num_callbacks = scan_complete_callbacks_.count(type); | 670 size_t num_callbacks = scan_complete_callbacks_.count(type); |
671 NET_LOG_EVENT("ScanCompleted", | 671 NET_LOG_EVENT("ScanCompleted", |
672 base::StringPrintf("%s:%"PRIuS, type.c_str(), num_callbacks)); | 672 base::StringPrintf("%s:%" PRIuS, type.c_str(), num_callbacks)); |
673 if (num_callbacks == 0) | 673 if (num_callbacks == 0) |
674 return; | 674 return; |
675 ScanCallbackList& callback_list = scan_complete_callbacks_[type]; | 675 ScanCallbackList& callback_list = scan_complete_callbacks_[type]; |
676 for (ScanCallbackList::iterator iter = callback_list.begin(); | 676 for (ScanCallbackList::iterator iter = callback_list.begin(); |
677 iter != callback_list.end(); ++iter) { | 677 iter != callback_list.end(); ++iter) { |
678 (*iter).Run(); | 678 (*iter).Run(); |
679 } | 679 } |
680 scan_complete_callbacks_.erase(type); | 680 scan_complete_callbacks_.erase(type); |
681 } | 681 } |
682 | 682 |
683 std::string NetworkStateHandler::GetTechnologyForType( | 683 std::string NetworkStateHandler::GetTechnologyForType( |
684 const std::string& type) const { | 684 const std::string& type) const { |
685 if (type == kMatchTypeMobile) { | 685 if (type == kMatchTypeMobile) { |
686 if (shill_property_handler_->IsTechnologyAvailable(flimflam::kTypeWimax)) | 686 if (shill_property_handler_->IsTechnologyAvailable(flimflam::kTypeWimax)) |
687 return flimflam::kTypeWimax; | 687 return flimflam::kTypeWimax; |
688 else | 688 else |
689 return flimflam::kTypeCellular; | 689 return flimflam::kTypeCellular; |
690 } | 690 } |
691 if (type == kMatchTypeDefault || type == kMatchTypeNonVirtual || | 691 if (type == kMatchTypeDefault || type == kMatchTypeNonVirtual || |
692 type == kMatchTypeWireless) { | 692 type == kMatchTypeWireless) { |
693 NOTREACHED(); | 693 NOTREACHED(); |
694 return flimflam::kTypeWifi; | 694 return flimflam::kTypeWifi; |
695 } | 695 } |
696 return type; | 696 return type; |
697 } | 697 } |
698 | 698 |
699 } // namespace chromeos | 699 } // namespace chromeos |
OLD | NEW |