• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // From private/ppb_camera_capabilities_private.idl,
6 //   modified Tue Aug 19 14:43:34 2014.
7 
8 #include "ppapi/c/pp_errors.h"
9 #include "ppapi/c/private/ppb_camera_capabilities_private.h"
10 #include "ppapi/shared_impl/tracked_callback.h"
11 #include "ppapi/thunk/enter.h"
12 #include "ppapi/thunk/ppapi_thunk_export.h"
13 #include "ppapi/thunk/ppb_camera_capabilities_api.h"
14 
15 namespace ppapi {
16 namespace thunk {
17 
18 namespace {
19 
Create(PP_Instance instance)20 PP_Resource Create(PP_Instance instance) {
21   VLOG(4) << "PPB_CameraCapabilities_Private::Create()";
22   EnterResourceCreation enter(instance);
23   if (enter.failed())
24     return 0;
25   return enter.functions()->CreateCameraCapabilitiesPrivate(instance);
26 }
27 
IsCameraCapabilities(PP_Resource resource)28 PP_Bool IsCameraCapabilities(PP_Resource resource) {
29   VLOG(4) << "PPB_CameraCapabilities_Private::IsCameraCapabilities()";
30   EnterResource<PPB_CameraCapabilities_API> enter(resource, false);
31   return PP_FromBool(enter.succeeded());
32 }
33 
GetSupportedPreviewSizes(PP_Resource capabilities,int32_t * array_size,struct PP_Size ** preview_sizes)34 void GetSupportedPreviewSizes(PP_Resource capabilities,
35                               int32_t* array_size,
36                               struct PP_Size** preview_sizes) {
37   VLOG(4) << "PPB_CameraCapabilities_Private::GetSupportedPreviewSizes()";
38   EnterResource<PPB_CameraCapabilities_API> enter(capabilities, true);
39   if (enter.failed())
40     return;
41   enter.object()->GetSupportedPreviewSizes(array_size, preview_sizes);
42 }
43 
GetSupportedJpegSizes(PP_Resource capabilities,int32_t * array_size,struct PP_Size ** jpeg_sizes)44 void GetSupportedJpegSizes(PP_Resource capabilities,
45                            int32_t* array_size,
46                            struct PP_Size** jpeg_sizes) {
47   VLOG(4) << "PPB_CameraCapabilities_Private::GetSupportedJpegSizes()";
48   EnterResource<PPB_CameraCapabilities_API> enter(capabilities, true);
49   if (enter.failed())
50     return;
51   enter.object()->GetSupportedJpegSizes(array_size, jpeg_sizes);
52 }
53 
54 const PPB_CameraCapabilities_Private_0_1
55     g_ppb_cameracapabilities_private_thunk_0_1 = {
56   &Create,
57   &IsCameraCapabilities,
58   &GetSupportedPreviewSizes,
59   &GetSupportedJpegSizes
60 };
61 
62 }  // namespace
63 
64 PPAPI_THUNK_EXPORT const PPB_CameraCapabilities_Private_0_1*
GetPPB_CameraCapabilities_Private_0_1_Thunk()65     GetPPB_CameraCapabilities_Private_0_1_Thunk() {
66   return &g_ppb_cameracapabilities_private_thunk_0_1;
67 }
68 
69 }  // namespace thunk
70 }  // namespace ppapi
71