• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 Mon Nov 11 14:49:53 2013.
6 
7 #include "ppapi/c/pp_completion_callback.h"
8 #include "ppapi/c/pp_errors.h"
9 #include "ppapi/c/private/ppb_flash_drm.h"
10 #include "ppapi/shared_impl/tracked_callback.h"
11 #include "ppapi/thunk/enter.h"
12 #include "ppapi/thunk/ppb_flash_drm_api.h"
13 #include "ppapi/thunk/ppb_instance_api.h"
14 #include "ppapi/thunk/resource_creation_api.h"
15 #include "ppapi/thunk/thunk.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(enter.object()->GetVoucherFile(file_ref,
56                                                         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(enter.object()->MonitorIsExternal(is_external,
67                                                            enter.callback()));
68 }
69 
70 const PPB_Flash_DRM_1_0 g_ppb_flash_drm_thunk_1_0 = {
71   &Create,
72   &GetDeviceID,
73   &GetHmonitor,
74   &GetVoucherFile
75 };
76 
77 const PPB_Flash_DRM_1_1 g_ppb_flash_drm_thunk_1_1 = {
78   &Create,
79   &GetDeviceID,
80   &GetHmonitor,
81   &GetVoucherFile,
82   &MonitorIsExternal
83 };
84 
85 }  // namespace
86 
GetPPB_Flash_DRM_1_0_Thunk()87 const PPB_Flash_DRM_1_0* GetPPB_Flash_DRM_1_0_Thunk() {
88   return &g_ppb_flash_drm_thunk_1_0;
89 }
90 
GetPPB_Flash_DRM_1_1_Thunk()91 const PPB_Flash_DRM_1_1* GetPPB_Flash_DRM_1_1_Thunk() {
92   return &g_ppb_flash_drm_thunk_1_1;
93 }
94 
95 }  // namespace thunk
96 }  // namespace ppapi
97