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

Side by Side Diff: chrome/browser/storage_monitor/image_capture_device_manager.mm

Issue 23383009: [StorageMonitor] Handle EjectDevice call for MTP devices (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Windows MTP device name tweak Created 7 years, 3 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 | Annotate | Revision Log
OLDNEW
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/storage_monitor/image_capture_device_manager.h" 5 #include "chrome/browser/storage_monitor/image_capture_device_manager.h"
6 6
7 #import <ImageCaptureCore/ImageCaptureCore.h> 7 #import <ImageCaptureCore/ImageCaptureCore.h>
8 8
9 #import "chrome/browser/storage_monitor/image_capture_device.h" 9 #import "chrome/browser/storage_monitor/image_capture_device.h"
10 #include "chrome/browser/storage_monitor/storage_info.h" 10 #include "chrome/browser/storage_monitor/storage_info.h"
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 ImageCaptureDeviceManager::~ImageCaptureDeviceManager() { 139 ImageCaptureDeviceManager::~ImageCaptureDeviceManager() {
140 g_image_capture_device_manager = NULL; 140 g_image_capture_device_manager = NULL;
141 [device_browser_ close]; 141 [device_browser_ close];
142 } 142 }
143 143
144 void ImageCaptureDeviceManager::SetNotifications( 144 void ImageCaptureDeviceManager::SetNotifications(
145 StorageMonitor::Receiver* notifications) { 145 StorageMonitor::Receiver* notifications) {
146 [device_browser_ setNotifications:notifications]; 146 [device_browser_ setNotifications:notifications];
147 } 147 }
148 148
149 void ImageCaptureDeviceManager::EjectDevice(
150 const std::string& uuid,
151 base::Callback<void(StorageMonitor::EjectStatus)> callback) {
152 base::scoped_nsobject<ImageCaptureDevice> camera_device(
153 [[device_browser_ deviceForUUID:uuid] retain]);
154 [camera_device eject];
155 [camera_device close];
156 callback.Run(StorageMonitor::EJECT_OK);
157 }
158
149 // static 159 // static
150 ImageCaptureDevice* ImageCaptureDeviceManager::deviceForUUID( 160 ImageCaptureDevice* ImageCaptureDeviceManager::deviceForUUID(
151 const std::string& uuid) { 161 const std::string& uuid) {
152 ImageCaptureDeviceManagerImpl* manager = 162 ImageCaptureDeviceManagerImpl* manager =
153 g_image_capture_device_manager->device_browser_; 163 g_image_capture_device_manager->device_browser_;
154 return [manager deviceForUUID:uuid]; 164 return [manager deviceForUUID:uuid];
155 } 165 }
156 166
157 id<ICDeviceBrowserDelegate> ImageCaptureDeviceManager::device_browser() { 167 id<ICDeviceBrowserDelegate> ImageCaptureDeviceManager::device_browser() {
158 return device_browser_.get(); 168 return device_browser_.get();
159 } 169 }
160 170
161 } // namespace chrome 171 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698