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/format_macros.h" | 10 #include "base/format_macros.h" |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 | 64 |
65 } // namespace | 65 } // namespace |
66 | 66 |
67 const char NetworkStateHandler::kDefaultCheckPortalList[] = | 67 const char NetworkStateHandler::kDefaultCheckPortalList[] = |
68 "ethernet,wifi,cellular"; | 68 "ethernet,wifi,cellular"; |
69 | 69 |
70 NetworkStateHandler::NetworkStateHandler() : network_list_sorted_(false) { | 70 NetworkStateHandler::NetworkStateHandler() : network_list_sorted_(false) { |
71 } | 71 } |
72 | 72 |
73 NetworkStateHandler::~NetworkStateHandler() { | 73 NetworkStateHandler::~NetworkStateHandler() { |
74 FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_, IsShuttingDown()); | |
75 STLDeleteContainerPointers(network_list_.begin(), network_list_.end()); | 74 STLDeleteContainerPointers(network_list_.begin(), network_list_.end()); |
76 STLDeleteContainerPointers(device_list_.begin(), device_list_.end()); | 75 STLDeleteContainerPointers(device_list_.begin(), device_list_.end()); |
77 } | 76 } |
78 | 77 |
| 78 void NetworkStateHandler::Shutdown() { |
| 79 FOR_EACH_OBSERVER(NetworkStateHandlerObserver, observers_, IsShuttingDown()); |
| 80 } |
| 81 |
79 void NetworkStateHandler::InitShillPropertyHandler() { | 82 void NetworkStateHandler::InitShillPropertyHandler() { |
80 shill_property_handler_.reset(new internal::ShillPropertyHandler(this)); | 83 shill_property_handler_.reset(new internal::ShillPropertyHandler(this)); |
81 shill_property_handler_->Init(); | 84 shill_property_handler_->Init(); |
82 } | 85 } |
83 | 86 |
84 // static | 87 // static |
85 NetworkStateHandler* NetworkStateHandler::InitializeForTest() { | 88 NetworkStateHandler* NetworkStateHandler::InitializeForTest() { |
86 NetworkStateHandler* handler = new NetworkStateHandler(); | 89 NetworkStateHandler* handler = new NetworkStateHandler(); |
87 handler->InitShillPropertyHandler(); | 90 handler->InitShillPropertyHandler(); |
88 return handler; | 91 return handler; |
89 } | 92 } |
90 | 93 |
91 void NetworkStateHandler::AddObserver( | 94 void NetworkStateHandler::AddObserver( |
92 NetworkStateHandlerObserver* observer, | 95 NetworkStateHandlerObserver* observer, |
93 const tracked_objects::Location& from_here) { | 96 const tracked_objects::Location& from_here) { |
94 observers_.AddObserver(observer); | 97 observers_.AddObserver(observer); |
95 device_event_log::AddEntry(from_here.file_name(), from_here.line_number(), | 98 device_event_log::AddEntry( |
96 device_event_log::LOG_TYPE_NETWORK, | 99 from_here.file_name(), from_here.line_number(), |
97 device_event_log::LOG_LEVEL_DEBUG, | 100 device_event_log::LOG_TYPE_NETWORK, device_event_log::LOG_LEVEL_DEBUG, |
98 "NetworkStateHandler::AddObserver"); | 101 base::StringPrintf("NetworkStateHandler::AddObserver: 0x%p", observer)); |
99 } | 102 } |
100 | 103 |
101 void NetworkStateHandler::RemoveObserver( | 104 void NetworkStateHandler::RemoveObserver( |
102 NetworkStateHandlerObserver* observer, | 105 NetworkStateHandlerObserver* observer, |
103 const tracked_objects::Location& from_here) { | 106 const tracked_objects::Location& from_here) { |
104 observers_.RemoveObserver(observer); | 107 observers_.RemoveObserver(observer); |
105 device_event_log::AddEntry(from_here.file_name(), from_here.line_number(), | 108 device_event_log::AddEntry( |
106 device_event_log::LOG_TYPE_NETWORK, | 109 from_here.file_name(), from_here.line_number(), |
107 device_event_log::LOG_LEVEL_DEBUG, | 110 device_event_log::LOG_TYPE_NETWORK, device_event_log::LOG_LEVEL_DEBUG, |
108 "NetworkStateHandler::RemoveObserver"); | 111 base::StringPrintf("NetworkStateHandler::RemoveObserver: 0x%p", |
| 112 observer)); |
109 } | 113 } |
110 | 114 |
111 NetworkStateHandler::TechnologyState NetworkStateHandler::GetTechnologyState( | 115 NetworkStateHandler::TechnologyState NetworkStateHandler::GetTechnologyState( |
112 const NetworkTypePattern& type) const { | 116 const NetworkTypePattern& type) const { |
113 std::string technology = GetTechnologyForType(type); | 117 std::string technology = GetTechnologyForType(type); |
114 TechnologyState state; | 118 TechnologyState state; |
115 if (shill_property_handler_->IsTechnologyEnabled(technology)) | 119 if (shill_property_handler_->IsTechnologyEnabled(technology)) |
116 state = TECHNOLOGY_ENABLED; | 120 state = TECHNOLOGY_ENABLED; |
117 else if (shill_property_handler_->IsTechnologyEnabling(technology)) | 121 else if (shill_property_handler_->IsTechnologyEnabling(technology)) |
118 state = TECHNOLOGY_ENABLING; | 122 state = TECHNOLOGY_ENABLING; |
(...skipping 877 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
996 if (type.MatchesType(shill::kTypeBluetooth)) | 1000 if (type.MatchesType(shill::kTypeBluetooth)) |
997 technologies.push_back(new std::string(shill::kTypeBluetooth)); | 1001 technologies.push_back(new std::string(shill::kTypeBluetooth)); |
998 if (type.MatchesType(shill::kTypeVPN)) | 1002 if (type.MatchesType(shill::kTypeVPN)) |
999 technologies.push_back(new std::string(shill::kTypeVPN)); | 1003 technologies.push_back(new std::string(shill::kTypeVPN)); |
1000 | 1004 |
1001 CHECK_GT(technologies.size(), 0ul); | 1005 CHECK_GT(technologies.size(), 0ul); |
1002 return technologies; | 1006 return technologies; |
1003 } | 1007 } |
1004 | 1008 |
1005 } // namespace chromeos | 1009 } // namespace chromeos |
OLD | NEW |