Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(191)

Side by Side Diff: chrome/browser/devtools/device/android_device_manager.cc

Issue 287643002: DevTools: Partially redesigned DevToolsAndroidBridge and AndroidDeviceManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Little simplification Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/devtools/device/android_device_manager.h" 5 #include "chrome/browser/devtools/device/android_device_manager.h"
6 6
7 #include "base/strings/string_number_conversions.h" 7 #include "base/strings/string_number_conversions.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "net/base/io_buffer.h" 10 #include "net/base/io_buffer.h"
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 193
194 // static 194 // static
195 scoped_refptr<AndroidDeviceManager> AndroidDeviceManager::Create() { 195 scoped_refptr<AndroidDeviceManager> AndroidDeviceManager::Create() {
196 return new AndroidDeviceManager(); 196 return new AndroidDeviceManager();
197 } 197 }
198 198
199 void AndroidDeviceManager::QueryDevices( 199 void AndroidDeviceManager::QueryDevices(
200 const DeviceProviders& providers, 200 const DeviceProviders& providers,
201 const QueryDevicesCallback& callback) { 201 const QueryDevicesCallback& callback) {
202 DCHECK(CalledOnValidThread()); 202 DCHECK(CalledOnValidThread());
203 stopped_ = false;
204 Devices empty; 203 Devices empty;
205 QueryNextProvider(callback, providers, empty, empty); 204 QueryNextProvider(callback, providers, empty, empty);
206 } 205 }
207 206
208 void AndroidDeviceManager::Stop() { 207 void AndroidDeviceManager::ReleaseDevice(const std::string& serial) {
209 DCHECK(CalledOnValidThread()); 208 DCHECK(CalledOnValidThread());
210 stopped_ = true; 209 devices_.erase(serial);
211 devices_.clear();
212 } 210 }
213 211
214 bool AndroidDeviceManager::IsConnected(const std::string& serial) { 212 bool AndroidDeviceManager::IsConnected(const std::string& serial) {
215 DCHECK(CalledOnValidThread()); 213 DCHECK(CalledOnValidThread());
216 Device* device = FindDevice(serial); 214 Device* device = FindDevice(serial);
217 return device && device->is_connected(); 215 return device && device->is_connected();
218 } 216 }
219 217
220 void AndroidDeviceManager::RunCommand( 218 void AndroidDeviceManager::RunCommand(
221 const std::string& serial, 219 const std::string& serial,
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 device->OpenSocket( 264 device->OpenSocket(
267 socket_name, 265 socket_name,
268 base::Bind(&HttpRequest::SocketRequest, 266 base::Bind(&HttpRequest::SocketRequest,
269 base::StringPrintf(kWebSocketUpgradeRequest, url.c_str()), 267 base::StringPrintf(kWebSocketUpgradeRequest, url.c_str()),
270 callback)); 268 callback));
271 } else { 269 } else {
272 callback.Run(net::ERR_CONNECTION_FAILED, NULL); 270 callback.Run(net::ERR_CONNECTION_FAILED, NULL);
273 } 271 }
274 } 272 }
275 273
276 AndroidDeviceManager::AndroidDeviceManager() 274 AndroidDeviceManager::AndroidDeviceManager() {
277 : stopped_(false) {
278 } 275 }
279 276
280 AndroidDeviceManager::~AndroidDeviceManager() { 277 AndroidDeviceManager::~AndroidDeviceManager() {
281 } 278 }
282 279
283 void AndroidDeviceManager::QueryNextProvider( 280 void AndroidDeviceManager::QueryNextProvider(
284 const QueryDevicesCallback& callback, 281 const QueryDevicesCallback& callback,
285 const DeviceProviders& providers, 282 const DeviceProviders& providers,
286 const Devices& total_devices, 283 const Devices& total_devices,
287 const Devices& new_devices) { 284 const Devices& new_devices) {
288 DCHECK(CalledOnValidThread()); 285 DCHECK(CalledOnValidThread());
289 286
290 if (stopped_)
Vladislav Kaznacheev 2014/05/19 10:32:11 I doubt that you could just remove this. This chec
vkuzkokov 2014/05/20 12:34:29 Devices are freed because DeviceHandle will be des
291 return;
292
293 Devices more_devices(total_devices); 287 Devices more_devices(total_devices);
294 more_devices.insert( 288 more_devices.insert(
295 more_devices.end(), new_devices.begin(), new_devices.end()); 289 more_devices.end(), new_devices.begin(), new_devices.end());
296 290
297 if (providers.empty()) { 291 if (providers.empty()) {
298 std::vector<std::string> serials; 292 std::vector<std::string> serials;
299 devices_.clear(); 293 devices_.clear();
300 for (Devices::const_iterator it = more_devices.begin(); 294 for (Devices::const_iterator it = more_devices.begin();
301 it != more_devices.end(); ++it) { 295 it != more_devices.end(); ++it) {
302 devices_[(*it)->serial()] = *it; 296 devices_[(*it)->serial()] = *it;
(...skipping 12 matching lines...) Expand all
315 } 309 }
316 310
317 AndroidDeviceManager::Device* 311 AndroidDeviceManager::Device*
318 AndroidDeviceManager::FindDevice(const std::string& serial) { 312 AndroidDeviceManager::FindDevice(const std::string& serial) {
319 DCHECK(CalledOnValidThread()); 313 DCHECK(CalledOnValidThread());
320 DeviceMap::const_iterator it = devices_.find(serial); 314 DeviceMap::const_iterator it = devices_.find(serial);
321 if (it == devices_.end()) 315 if (it == devices_.end())
322 return NULL; 316 return NULL;
323 return (*it).second.get(); 317 return (*it).second.get();
324 } 318 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698