summaryrefslogtreecommitdiffstats
path: root/ppapi/cpp/private/camera_capabilities_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'ppapi/cpp/private/camera_capabilities_private.h')
-rw-r--r--ppapi/cpp/private/camera_capabilities_private.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/ppapi/cpp/private/camera_capabilities_private.h b/ppapi/cpp/private/camera_capabilities_private.h
new file mode 100644
index 0000000..5151c75
--- /dev/null
+++ b/ppapi/cpp/private/camera_capabilities_private.h
@@ -0,0 +1,83 @@
+/* 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 "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);
+
+ /// Constructs a <code>CameraCapabilities_Private</code> object.
+ ///
+ /// @param[in] instance The instance with which this resource will be
+ /// associated.
+ explicit CameraCapabilities_Private(const InstanceHandle& instance);
+
+ /// 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();
+
+ /// GetSupportedPreviewSizes() returns the supported preview sizes for the
+ /// given <code>CameraCapabilities_Private</code>.
+ ///
+ /// @param[out] A vector of <code>Size</code> corresponding to the
+ /// supported preview sizes in pixels.
+ void GetSupportedPreviewSizes(std::vector<Size>* preview_sizes);
+
+ /// GetSupportedJpegSize() returns the supported JPEG sizes for the given
+ /// <code>CameraCapabilities_Private</code>.
+ ///
+ /// @param[out] A vector of <code>Size</code> corresponding to the
+ /// supported JPEG image sizes in pixels.
+ void GetSupportedJpegSizes(std::vector<Size>* jpeg_sizes);
+
+ /// 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_ */
+