diff options
author | jchuang <jchuang@chromium.org> | 2015-02-20 00:22:30 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-02-20 08:23:02 +0000 |
commit | fa1f14351809dd17dba1171be48952b292ff4fa3 (patch) | |
tree | e8b8026a39fa7a118bfd3aab79542965f0a8581c /ppapi/cpp/private/camera_device_private.cc | |
parent | 8c346aae88b9d416d2941ed33b412475ad895842 (diff) | |
download | chromium_src-fa1f14351809dd17dba1171be48952b292ff4fa3.zip chromium_src-fa1f14351809dd17dba1171be48952b292ff4fa3.tar.gz chromium_src-fa1f14351809dd17dba1171be48952b292ff4fa3.tar.bz2 |
PPAPI: Rename PPB_ImageCapture_Private to PPB_CameraDevice_Private
BUG=387547
TEST=Call the API from a trusted plugin.
Review URL: https://codereview.chromium.org/929053003
Cr-Commit-Position: refs/heads/master@{#317271}
Diffstat (limited to 'ppapi/cpp/private/camera_device_private.cc')
-rw-r--r-- | ppapi/cpp/private/camera_device_private.cc | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/ppapi/cpp/private/camera_device_private.cc b/ppapi/cpp/private/camera_device_private.cc new file mode 100644 index 0000000..1ca39f7 --- /dev/null +++ b/ppapi/cpp/private/camera_device_private.cc @@ -0,0 +1,87 @@ +// Copyright 2015 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. + +#include "ppapi/cpp/private/camera_device_private.h" + +#include "ppapi/c/pp_bool.h" +#include "ppapi/c/pp_errors.h" +#include "ppapi/cpp/completion_callback.h" +#include "ppapi/cpp/instance_handle.h" +#include "ppapi/cpp/module_impl.h" +#include "ppapi/cpp/private/camera_capabilities_private.h" + +namespace pp { + +namespace { + +template <> +const char* interface_name<PPB_CameraDevice_Private_0_1>() { + return PPB_CAMERADEVICE_PRIVATE_INTERFACE_0_1; +} + +} // namespace + +CameraDevice_Private::CameraDevice_Private() { +} + +CameraDevice_Private::CameraDevice_Private(const CameraDevice_Private& other) + : Resource(other) { +} + +CameraDevice_Private::CameraDevice_Private(const Resource& resource) + : Resource(resource) { + PP_DCHECK(IsCameraDevice(resource)); +} + +CameraDevice_Private::CameraDevice_Private(const InstanceHandle& instance) { + if (has_interface<PPB_CameraDevice_Private_0_1>()) { + PassRefFromConstructor( + get_interface<PPB_CameraDevice_Private_0_1>()->Create( + instance.pp_instance())); + return; + } + PP_DCHECK(false); +} + +CameraDevice_Private::CameraDevice_Private(PassRef, PP_Resource resource) + : Resource(PASS_REF, resource) { +} + +CameraDevice_Private::~CameraDevice_Private() { +} + +int32_t CameraDevice_Private::Open(const Var& device_id, + const CompletionCallback& callback) { + if (!has_interface<PPB_CameraDevice_Private_0_1>()) + return callback.MayForce(PP_ERROR_NOINTERFACE); + + return get_interface<PPB_CameraDevice_Private_0_1>()->Open( + pp_resource(), device_id.pp_var(), callback.pp_completion_callback()); +} + +void CameraDevice_Private::Close() { + if (has_interface<PPB_CameraDevice_Private_0_1>()) + get_interface<PPB_CameraDevice_Private_0_1>()->Close(pp_resource()); +} + +int32_t CameraDevice_Private::GetCameraCapabilities( + const CompletionCallbackWithOutput<CameraCapabilities_Private>& callback) { + if (!has_interface<PPB_CameraDevice_Private_0_1>()) + return callback.MayForce(PP_ERROR_NOINTERFACE); + + return get_interface<PPB_CameraDevice_Private_0_1>()->GetCameraCapabilities( + pp_resource(), callback.output(), callback.pp_completion_callback()); +} + +// static +bool CameraDevice_Private::IsCameraDevice(const Resource& resource) { + if (!has_interface<PPB_CameraDevice_Private_0_1>()) + return false; + + return PP_ToBool( + get_interface<PPB_CameraDevice_Private_0_1>()->IsCameraDevice( + resource.pp_resource())); +} + +} // namespace pp |