1 // Copyright (c) 2012 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_flash_drm.idl modified Fri Aug  3 10:01:34 2018.
6 
7 #include <stdint.h>
8 
9 #include "ppapi/c/pp_completion_callback.h"
10 #include "ppapi/c/pp_errors.h"
11 #include "ppapi/c/private/ppb_flash_drm.h"
12 #include "ppapi/shared_impl/tracked_callback.h"
13 #include "ppapi/thunk/enter.h"
14 #include "ppapi/thunk/ppapi_thunk_export.h"
15 #include "ppapi/thunk/ppb_flash_drm_api.h"
16 
17 namespace ppapi {
18 namespace thunk {
19 
20 namespace {
21 
Create(PP_Instance instance)22 PP_Resource Create(PP_Instance instance) {
23   VLOG(4) << "PPB_Flash_DRM::Create()";
24   EnterResourceCreation enter(instance);
25   if (enter.failed())
26     return 0;
27   return enter.functions()->CreateFlashDRM(instance);
28 }
29 
GetDeviceID(PP_Resource drm,struct PP_Var * id,struct PP_CompletionCallback callback)30 int32_t GetDeviceID(PP_Resource drm,
31                     struct PP_Var* id,
32                     struct PP_CompletionCallback callback) {
33   VLOG(4) << "PPB_Flash_DRM::GetDeviceID()";
34   EnterResource<PPB_Flash_DRM_API> enter(drm, callback, true);
35   if (enter.failed())
36     return enter.retval();
37   return enter.SetResult(enter.object()->GetDeviceID(id, enter.callback()));
38 }
39 
GetHmonitor(PP_Resource drm,int64_t * hmonitor)40 PP_Bool GetHmonitor(PP_Resource drm, int64_t* hmonitor) {
41   VLOG(4) << "PPB_Flash_DRM::GetHmonitor()";
42   EnterResource<PPB_Flash_DRM_API> enter(drm, true);
43   if (enter.failed())
44     return PP_FALSE;
45   return enter.object()->GetHmonitor(hmonitor);
46 }
47 
GetVoucherFile(PP_Resource drm,PP_Resource * file_ref,struct PP_CompletionCallback callback)48 int32_t GetVoucherFile(PP_Resource drm,
49                        PP_Resource* file_ref,
50                        struct PP_CompletionCallback callback) {
51   VLOG(4) << "PPB_Flash_DRM::GetVoucherFile()";
52   EnterResource<PPB_Flash_DRM_API> enter(drm, callback, true);
53   if (enter.failed())
54     return enter.retval();
55   return enter.SetResult(
56       enter.object()->GetVoucherFile(file_ref, enter.callback()));
57 }
58 
MonitorIsExternal(PP_Resource drm,PP_Bool * is_external,struct PP_CompletionCallback callback)59 int32_t MonitorIsExternal(PP_Resource drm,
60                           PP_Bool* is_external,
61                           struct PP_CompletionCallback callback) {
62   VLOG(4) << "PPB_Flash_DRM::MonitorIsExternal()";
63   EnterResource<PPB_Flash_DRM_API> enter(drm, callback, true);
64   if (enter.failed())
65     return enter.retval();
66   return enter.SetResult(
67       enter.object()->MonitorIsExternal(is_external, enter.callback()));
68 }
69 
70 const PPB_Flash_DRM_1_1 g_ppb_flash_drm_thunk_1_1 = {
71     &Create, &GetDeviceID, &GetHmonitor, &GetVoucherFile, &MonitorIsExternal};
72 
73 }  // namespace
74 
GetPPB_Flash_DRM_1_1_Thunk()75 PPAPI_THUNK_EXPORT const PPB_Flash_DRM_1_1* GetPPB_Flash_DRM_1_1_Thunk() {
76   return &g_ppb_flash_drm_thunk_1_1;
77 }
78 
79 }  // namespace thunk
80 }  // namespace ppapi
81