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

Unified Diff: chrome/browser/system_monitor/image_capture_device_browser_mac.h

Issue 11442057: [Media Galleries] Add an ImageCaptureCore listener for Mac. (part 2) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Better ObjC Created 8 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/system_monitor/image_capture_device_browser_mac.h
diff --git a/chrome/browser/system_monitor/image_capture_device_browser_mac.h b/chrome/browser/system_monitor/image_capture_device_browser_mac.h
new file mode 100644
index 0000000000000000000000000000000000000000..f848df369305b15374962b8c6979a144b8b6e30b
--- /dev/null
+++ b/chrome/browser/system_monitor/image_capture_device_browser_mac.h
@@ -0,0 +1,47 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_SYSTEM_MONITOR_IMAGE_CAPTURE_DEVICE_MAC_H_
+#define CHROME_BROWSER_SYSTEM_MONITOR_IMAGE_CAPTURE_DEVICE_MAC_H_
+
+#import <Foundation/Foundation.h>
+#import <ImageCaptureCore/ImageCaptureCore.h>
+
+#include "base/file_path.h"
+#include "base/memory/scoped_nsobject.h"
+#include "base/platform_file.h"
+#include "base/string_util.h"
+#include "base/sys_string_conversions.h"
+
+@class ImageCaptureCameraInterface;
+
+// This class is the surface for the Mac ICDeviceBrowser ImageCaptureCore API.
+// Owned by the ChromeBrowserParts and has browser process lifetime. Upon
+// creation, it gets a list of attached media volumes (asynchronously) which
+// it will eventually forward to the SystemMonitor as removable storage
+// notifications. It will also set up an ImageCaptureCore listener to be
+// told when new devices/volumes are discovered and existing ones are removed.
+@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
+ : NSObject<ICDeviceBrowserDelegate> {
+ @private
+ scoped_nsobject<ICDeviceBrowser> deviceBrowser_;
+ NSMutableArray* cameras_;
sail 2012/12/13 02:14:00 scoped_nsobject
Greg Billock 2012/12/14 00:39:59 Done.
+}
+
+@property(nonatomic, retain) NSMutableArray* cameras;
+
+- (void)close;
+
+// The UUIDs passed here are available in the device attach notifications
+// given through SystemMonitor. They're gotten by cracking the device ID
+// and taking the unique ID output.
+- (ImageCaptureCameraInterface*)createCameraInterfaceForUUID:(std::string&)uuid;
sail 2012/12/13 02:14:00 createCameraInterface -> cameraInterface..
Greg Billock 2012/12/14 00:39:59 Done.
+
+// Get a globally-available interface. Owned by ChromeBrowserMainPartsMac and
+// has browser-process lifetime.
++ (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
+
+@end
+
+#endif // CHROME_BROWSER_SYSTEM_MONITOR_IMAGE_CAPTURE_DEVICE_MAC_H_

Powered by Google App Engine
This is Rietveld 408576698