1 /*
2  *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 //
12 //  video_capture_qtkit_info_objc.h
13 //
14 //
15 
16 #ifndef WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_MAC_QTKIT_VIDEO_CAPTURE_QTKIT_INFO_OBJC_H_
17 #define WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_MAC_QTKIT_VIDEO_CAPTURE_QTKIT_INFO_OBJC_H_
18 
19 #import <Foundation/Foundation.h>
20 #import <QTKit/QTKit.h>
21 
22 #include "webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_info.h"
23 #include "webrtc/modules/video_capture/mac/qtkit/video_capture_qtkit_utility.h"
24 
25 @interface VideoCaptureMacQTKitInfoObjC : NSObject{
26     bool                                _OSSupportedInfo;
27     NSArray*                            _captureDevicesInfo;
28     NSAutoreleasePool*                    _poolInfo;
29     int                                    _captureDeviceCountInfo;
30 
31 }
32 
33 /**************************************************************************
34  *
35  *   The following functions are considered to be private
36  *
37  ***************************************************************************/
38 
39 - (NSNumber*)getCaptureDevices;
40 - (NSNumber*)initializeVariables;
41 - (void)checkOSSupported;
42 
43 
44 /**************************************************************************
45  *
46  *   The following functions are considered to be public and called by VideoCaptureMacQTKitInfo class
47  *
48  ***************************************************************************/
49 
50 - (NSNumber*)getCaptureDeviceCount;
51 
52 - (NSNumber*)getDeviceNamesFromIndex:(uint32_t)index
53     DefaultName:(char*)deviceName
54     WithLength:(uint32_t)deviceNameLength
55     AndUniqueID:(char*)deviceUniqueID
56     WithLength:(uint32_t)deviceUniqueIDLength
57     AndProductID:(char*)deviceProductID
58     WithLength:(uint32_t)deviceProductIDLength;
59 
60 - (NSNumber*)displayCaptureSettingsDialogBoxWithDevice:
61         (const char*)deviceUniqueIdUTF8
62     AndTitle:(const char*)dialogTitleUTF8
63     AndParentWindow:(void*) parentWindow AtX:(uint32_t)positionX
64     AndY:(uint32_t) positionY;
65 @end
66 
67 #endif  // WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_MAC_QTKIT_VIDEO_CAPTURE_QTKIT_INFO_OBJC_H_
68