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 "chrome/browser/chromeos/cros/network_library_impl_base.h" | 5 #include "chrome/browser/chromeos/cros/network_library_impl_base.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/json/json_writer.h" | 8 #include "base/json/json_writer.h" |
9 #include "base/memory/scoped_vector.h" | 9 #include "base/memory/scoped_vector.h" |
10 #include "base/stl_util.h" | 10 #include "base/stl_util.h" |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 MonitorNetworkStart(service_path); | 120 MonitorNetworkStart(service_path); |
121 } | 121 } |
122 | 122 |
123 void NetworkLibraryImplBase::RemoveNetworkObserver( | 123 void NetworkLibraryImplBase::RemoveNetworkObserver( |
124 const std::string& service_path, NetworkObserver* observer) { | 124 const std::string& service_path, NetworkObserver* observer) { |
125 DCHECK(service_path.size()); | 125 DCHECK(service_path.size()); |
126 NetworkObserverMap::iterator map_iter = | 126 NetworkObserverMap::iterator map_iter = |
127 network_observers_.find(service_path); | 127 network_observers_.find(service_path); |
128 if (map_iter != network_observers_.end()) { | 128 if (map_iter != network_observers_.end()) { |
129 map_iter->second->RemoveObserver(observer); | 129 map_iter->second->RemoveObserver(observer); |
130 if (!map_iter->second->size()) { | 130 if (!map_iter->second->might_have_observers()) { |
131 MonitorNetworkStop(service_path); | 131 MonitorNetworkStop(service_path); |
132 delete map_iter->second; | 132 delete map_iter->second; |
133 network_observers_.erase(map_iter); | 133 network_observers_.erase(map_iter); |
134 } | 134 } |
135 } | 135 } |
136 } | 136 } |
137 | 137 |
138 void NetworkLibraryImplBase::RemoveObserverForAllNetworks( | 138 void NetworkLibraryImplBase::RemoveObserverForAllNetworks( |
139 NetworkObserver* observer) { | 139 NetworkObserver* observer) { |
140 DCHECK(observer); | 140 DCHECK(observer); |
141 NetworkObserverMap::iterator map_iter = network_observers_.begin(); | 141 NetworkObserverMap::iterator map_iter = network_observers_.begin(); |
142 while (map_iter != network_observers_.end()) { | 142 while (map_iter != network_observers_.end()) { |
143 map_iter->second->RemoveObserver(observer); | 143 map_iter->second->RemoveObserver(observer); |
144 if (!map_iter->second->size()) { | 144 if (!map_iter->second->might_have_observers()) { |
145 MonitorNetworkStop(map_iter->first); | 145 MonitorNetworkStop(map_iter->first); |
146 delete map_iter->second; | 146 delete map_iter->second; |
147 network_observers_.erase(map_iter++); | 147 network_observers_.erase(map_iter++); |
148 } else { | 148 } else { |
149 ++map_iter; | 149 ++map_iter; |
150 } | 150 } |
151 } | 151 } |
152 } | 152 } |
153 | 153 |
154 void NetworkLibraryImplBase::AddNetworkDeviceObserver( | 154 void NetworkLibraryImplBase::AddNetworkDeviceObserver( |
(...skipping 1431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1586 GetTpmInfo(); | 1586 GetTpmInfo(); |
1587 return tpm_slot_; | 1587 return tpm_slot_; |
1588 } | 1588 } |
1589 | 1589 |
1590 const std::string& NetworkLibraryImplBase::GetTpmPin() { | 1590 const std::string& NetworkLibraryImplBase::GetTpmPin() { |
1591 GetTpmInfo(); | 1591 GetTpmInfo(); |
1592 return tpm_pin_; | 1592 return tpm_pin_; |
1593 } | 1593 } |
1594 | 1594 |
1595 } // namespace chromeos | 1595 } // namespace chromeos |
OLD | NEW |