Home | History | Annotate | Download | only in thunk
      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 dev/ppb_printing_dev.idl modified Fri Apr 19 10:45:09 2013.
      6 
      7 #include "ppapi/c/dev/ppb_printing_dev.h"
      8 #include "ppapi/c/pp_completion_callback.h"
      9 #include "ppapi/c/pp_errors.h"
     10 #include "ppapi/shared_impl/tracked_callback.h"
     11 #include "ppapi/thunk/enter.h"
     12 #include "ppapi/thunk/ppb_instance_api.h"
     13 #include "ppapi/thunk/ppb_printing_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 
     22 PP_Resource Create(PP_Instance instance) {
     23   VLOG(4) << "PPB_Printing_Dev::Create()";
     24   EnterResourceCreation enter(instance);
     25   if (enter.failed())
     26     return 0;
     27   return enter.functions()->CreatePrinting(instance);
     28 }
     29 
     30 int32_t GetDefaultPrintSettings(PP_Resource resource,
     31                                 struct PP_PrintSettings_Dev* print_settings,
     32                                 struct PP_CompletionCallback callback) {
     33   VLOG(4) << "PPB_Printing_Dev::GetDefaultPrintSettings()";
     34   EnterResource<PPB_Printing_API> enter(resource, callback, true);
     35   if (enter.failed())
     36     return enter.retval();
     37   return enter.SetResult(enter.object()->GetDefaultPrintSettings(
     38       print_settings,
     39       enter.callback()));
     40 }
     41 
     42 const PPB_Printing_Dev_0_7 g_ppb_printing_dev_thunk_0_7 = {
     43   &Create,
     44   &GetDefaultPrintSettings
     45 };
     46 
     47 }  // namespace
     48 
     49 const PPB_Printing_Dev_0_7* GetPPB_Printing_Dev_0_7_Thunk() {
     50   return &g_ppb_printing_dev_thunk_0_7;
     51 }
     52 
     53 }  // namespace thunk
     54 }  // namespace ppapi
     55