OLD | NEW |
---|---|
(Empty) | |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef CHROME_BROWSER_SYSTEM_MONITOR_IMAGE_CAPTURE_DEVICE_MAC_H_ | |
6 #define CHROME_BROWSER_SYSTEM_MONITOR_IMAGE_CAPTURE_DEVICE_MAC_H_ | |
7 | |
8 #import <Foundation/Foundation.h> | |
9 #import <ImageCaptureCore/ImageCaptureCore.h> | |
10 | |
11 #include "base/file_path.h" | |
12 #include "base/memory/scoped_nsobject.h" | |
13 #include "base/platform_file.h" | |
14 #include "base/string_util.h" | |
15 #include "base/sys_string_conversions.h" | |
16 | |
17 @class ImageCaptureCameraInterface; | |
18 | |
19 // This class is the surface for the Mac ICDeviceBrowser ImageCaptureCore API. | |
20 // Owned by the ChromeBrowserParts and has browser process lifetime. Upon | |
21 // creation, it gets a list of attached media volumes (asynchronously) which | |
22 // it will eventually forward to the SystemMonitor as removable storage | |
23 // notifications. It will also set up an ImageCaptureCore listener to be | |
24 // told when new devices/volumes are discovered and existing ones are removed. | |
25 @interface ImageCaptureDeviceBrowserMac | |
sail
2012/12/13 02:14:00
split this into a C++ and Objective-C class
Greg Billock
2012/12/14 00:39:59
Done. Moved the split from the ChromeMainPartsMac
| |
26 : NSObject<ICDeviceBrowserDelegate> { | |
27 @private | |
28 scoped_nsobject<ICDeviceBrowser> deviceBrowser_; | |
29 NSMutableArray* cameras_; | |
sail
2012/12/13 02:14:00
scoped_nsobject
Greg Billock
2012/12/14 00:39:59
Done.
| |
30 } | |
31 | |
32 @property(nonatomic, retain) NSMutableArray* cameras; | |
33 | |
34 - (void)close; | |
35 | |
36 // The UUIDs passed here are available in the device attach notifications | |
37 // given through SystemMonitor. They're gotten by cracking the device ID | |
38 // and taking the unique ID output. | |
39 - (ImageCaptureCameraInterface*)createCameraInterfaceForUUID:(std::string&)uuid; | |
sail
2012/12/13 02:14:00
createCameraInterface -> cameraInterface..
Greg Billock
2012/12/14 00:39:59
Done.
| |
40 | |
41 // Get a globally-available interface. Owned by ChromeBrowserMainPartsMac and | |
42 // has browser-process lifetime. | |
43 + (ImageCaptureDeviceBrowserMac*)get; | |
sail
2012/12/13 02:14:00
don't need this
Greg Billock
2012/12/14 00:39:59
What are you thinking as the alternative? The chro
| |
44 | |
45 @end | |
46 | |
47 #endif // CHROME_BROWSER_SYSTEM_MONITOR_IMAGE_CAPTURE_DEVICE_MAC_H_ | |
OLD | NEW |