|  | /* Copyright 2014 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 PPAPI_CPP_PRIVATE_CAMERA_CAPABILITIES_PRIVATE_H_ | 
|  | #define PPAPI_CPP_PRIVATE_CAMERA_CAPABILITIES_PRIVATE_H_ | 
|  |  | 
|  | #include <vector> | 
|  |  | 
|  | #include "ppapi/c/private/ppb_camera_capabilities_private.h" | 
|  | #include "ppapi/cpp/resource.h" | 
|  | #include "ppapi/cpp/size.h" | 
|  |  | 
|  | /// @file | 
|  | /// This file defines the CameraCapabilities_Private interface for | 
|  | /// establishing an image capture configuration resource within the browser. | 
|  | namespace pp { | 
|  |  | 
|  | /// The <code>CameraCapabilities_Private</code> interface contains methods for | 
|  | /// getting the image capture capabilities within the browser. | 
|  | class CameraCapabilities_Private : public Resource { | 
|  | public: | 
|  | /// Default constructor for creating an is_null() | 
|  | /// <code>CameraCapabilities_Private</code> object. | 
|  | CameraCapabilities_Private(); | 
|  |  | 
|  | /// The copy constructor for <code>CameraCapabilities_Private</code>. | 
|  | /// | 
|  | /// @param[in] other A reference to a <code>CameraCapabilities_Private | 
|  | /// </code>. | 
|  | CameraCapabilities_Private(const CameraCapabilities_Private& other); | 
|  |  | 
|  | /// Constructs a <code>CameraCapabilities_Private</code> from a <code> | 
|  | /// Resource</code>. | 
|  | /// | 
|  | /// @param[in] resource A <code>PPB_CameraCapabilities_Private</code> | 
|  | /// resource. | 
|  | explicit CameraCapabilities_Private(const Resource& resource); | 
|  |  | 
|  | /// A constructor used when you have received a <code>PP_Resource</code> as a | 
|  | /// return value that has had 1 ref added for you. | 
|  | /// | 
|  | /// @param[in] resource A <code>PPB_CameraCapabilities_Private</code> | 
|  | /// resource. | 
|  | CameraCapabilities_Private(PassRef, PP_Resource resource); | 
|  |  | 
|  | // Destructor. | 
|  | ~CameraCapabilities_Private(); | 
|  |  | 
|  | /// GetSupportedVideoCaptureFormats() returns the supported video capture | 
|  | /// formats. | 
|  | /// | 
|  | /// @param[out] formats A vector of <code>PP_VideoCaptureFormat</code> | 
|  | /// corresponding to the supported video capture formats. This output vector | 
|  | /// must be prepared by the caller beforehand. | 
|  | void GetSupportedVideoCaptureFormats( | 
|  | std::vector<PP_VideoCaptureFormat>* formats); | 
|  |  | 
|  | /// IsCameraCapabilities() determines if the given resource is a | 
|  | /// <code>CameraCapabilities_Private</code>. | 
|  | /// | 
|  | /// @param[in] resource A <code>Resource</code> corresponding to an image | 
|  | /// capture capabilities resource. | 
|  | /// | 
|  | /// @return true if the given resource is an <code> | 
|  | /// CameraCapabilities_Private</code> resource, otherwise false. | 
|  | static bool IsCameraCapabilities(const Resource& resource); | 
|  | }; | 
|  |  | 
|  | }  // namespace pp | 
|  |  | 
|  | #endif  /* PPAPI_CPP_PRIVATE_CAMERA_CAPABILITIES_PRIVATE_H_ */ |