Home | History | Annotate | Download | only in ios
      1 /*
      2  *  Copyright (c) 2013 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 #ifndef WEBRTC_MODULES_VIDEO_CAPTURE_IOS_DEVICE_INFO_IOS_H_
     12 #define WEBRTC_MODULES_VIDEO_CAPTURE_IOS_DEVICE_INFO_IOS_H_
     13 
     14 #include "webrtc/modules/video_capture/device_info_impl.h"
     15 
     16 #include <map>
     17 
     18 namespace webrtc {
     19 namespace videocapturemodule {
     20 class DeviceInfoIos : public DeviceInfoImpl {
     21  public:
     22   explicit DeviceInfoIos(const int32_t device_id);
     23   virtual ~DeviceInfoIos();
     24 
     25   // Implementation of DeviceInfoImpl.
     26   int32_t Init() override;
     27   uint32_t NumberOfDevices() override;
     28   int32_t GetDeviceName(uint32_t deviceNumber,
     29                         char* deviceNameUTF8,
     30                         uint32_t deviceNameLength,
     31                         char* deviceUniqueIdUTF8,
     32                         uint32_t deviceUniqueIdUTF8Length,
     33                         char* productUniqueIdUTF8 = 0,
     34                         uint32_t productUniqueIdUTF8Length = 0) override;
     35 
     36   int32_t NumberOfCapabilities(const char* deviceUniqueIdUTF8) override;
     37 
     38   int32_t GetCapability(const char* deviceUniqueIdUTF8,
     39                         const uint32_t deviceCapabilityNumber,
     40                         VideoCaptureCapability& capability) override;
     41 
     42   int32_t DisplayCaptureSettingsDialogBox(const char* deviceUniqueIdUTF8,
     43                                           const char* dialogTitleUTF8,
     44                                           void* parentWindow,
     45                                           uint32_t positionX,
     46                                           uint32_t positionY) override;
     47 
     48   int32_t GetOrientation(const char* deviceUniqueIdUTF8,
     49                          VideoRotation& orientation) override;
     50 
     51   int32_t CreateCapabilityMap(const char* device_unique_id_utf8) override;
     52 
     53  private:
     54   std::map<std::string, VideoCaptureCapabilities> _capabilitiesMap;
     55 };
     56 
     57 }  // namespace videocapturemodule
     58 }  // namespace webrtc
     59 
     60 #endif  // WEBRTC_MODULES_VIDEO_CAPTURE_IOS_DEVICE_INFO_IOS_H_
     61