Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(383)

Side by Side Diff: ppapi/thunk/ppb_image_capture_private_thunk.cc

Issue 391323002: Pepper: add Image Capture interfaces. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address comments Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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_image_capture_private.idl,
6 // modified Tue Aug 12 15:20:20 2014.
7
8 #include "ppapi/c/pp_completion_callback.h"
9 #include "ppapi/c/pp_errors.h"
10 #include "ppapi/c/private/ppb_image_capture_private.h"
11 #include "ppapi/shared_impl/tracked_callback.h"
12 #include "ppapi/thunk/enter.h"
13 #include "ppapi/thunk/ppapi_thunk_export.h"
14 #include "ppapi/thunk/ppb_image_capture_api.h"
15
16 namespace ppapi {
17 namespace thunk {
18
19 namespace {
20
21 PP_Resource Create(PP_Instance instance,
22 struct PP_Var camera_source_id,
23 PP_Resource message_loop,
24 PPB_ImageCapture_Private_ErrorCallback error_callback,
25 void* user_data) {
26 VLOG(4) << "PPB_ImageCapture_Private::Create()";
27 EnterResourceCreation enter(instance);
28 if (enter.failed())
29 return 0;
30 return enter.functions()->CreateImageCapturePrivate(instance,
31 camera_source_id,
32 message_loop,
33 error_callback,
34 user_data);
35 }
36
37 PP_Bool IsImageCapture(PP_Resource resource) {
38 VLOG(4) << "PPB_ImageCapture_Private::IsImageCapture()";
39 EnterResource<PPB_ImageCapture_API> enter(resource, false);
40 return PP_FromBool(enter.succeeded());
41 }
42
43 int32_t Close(PP_Resource resource, struct PP_CompletionCallback callback) {
44 VLOG(4) << "PPB_ImageCapture_Private::Close()";
45 EnterResource<PPB_ImageCapture_API> enter(resource, callback, true);
46 if (enter.failed())
47 return enter.retval();
48 return enter.SetResult(enter.object()->Close(enter.callback()));
49 }
50
51 int32_t SetConfig(PP_Resource image_capture,
52 PP_Resource config,
53 struct PP_CompletionCallback callback) {
54 VLOG(4) << "PPB_ImageCapture_Private::SetConfig()";
55 EnterResource<PPB_ImageCapture_API> enter(image_capture, callback, true);
56 if (enter.failed())
57 return enter.retval();
58 return enter.SetResult(enter.object()->SetConfig(config, enter.callback()));
59 }
60
61 int32_t GetConfig(PP_Resource image_capture,
62 PP_Resource* config,
63 struct PP_CompletionCallback callback) {
64 VLOG(4) << "PPB_ImageCapture_Private::GetConfig()";
65 EnterResource<PPB_ImageCapture_API> enter(image_capture, callback, true);
66 if (enter.failed())
67 return enter.retval();
68 return enter.SetResult(enter.object()->GetConfig(config, enter.callback()));
69 }
70
71 int32_t GetCameraCapabilities(PP_Resource image_capture,
72 PP_Resource* capabilities,
73 struct PP_CompletionCallback callback) {
74 VLOG(4) << "PPB_ImageCapture_Private::GetCameraCapabilities()";
75 EnterResource<PPB_ImageCapture_API> enter(image_capture, callback, true);
76 if (enter.failed())
77 return enter.retval();
78 return enter.SetResult(enter.object()->GetCameraCapabilities(
79 capabilities,
80 enter.callback()));
81 }
82
83 int32_t CaptureStillImage(
84 PP_Resource image_capture,
85 PPB_ImageCapture_Private_ShutterCallback shutter_callback,
86 PPB_ImageCapture_Private_PreviewCallback preview_callback,
87 PPB_ImageCapture_Private_JpegCallback jpeg_callback,
88 int64_t* sequence_id) {
89 VLOG(4) << "PPB_ImageCapture_Private::CaptureStillImage()";
90 EnterResource<PPB_ImageCapture_API> enter(image_capture, true);
91 if (enter.failed())
92 return enter.retval();
93 return enter.object()->CaptureStillImage(shutter_callback,
94 preview_callback,
95 jpeg_callback,
96 sequence_id);
97 }
98
99 const PPB_ImageCapture_Private_0_1 g_ppb_imagecapture_private_thunk_0_1 = {
100 &Create,
101 &IsImageCapture,
102 &Close,
103 &SetConfig,
104 &GetConfig,
105 &GetCameraCapabilities,
106 &CaptureStillImage
107 };
108
109 } // namespace
110
111 PPAPI_THUNK_EXPORT const PPB_ImageCapture_Private_0_1*
112 GetPPB_ImageCapture_Private_0_1_Thunk() {
113 return &g_ppb_imagecapture_private_thunk_0_1;
114 }
115
116 } // namespace thunk
117 } // namespace ppapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698