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 #include "ppapi/c/private/ppb_flash_menu.h"
      6 #include "ppapi/c/pp_completion_callback.h"
      7 #include "ppapi/c/pp_errors.h"
      8 #include "ppapi/shared_impl/tracked_callback.h"
      9 #include "ppapi/thunk/enter.h"
     10 #include "ppapi/thunk/thunk.h"
     11 #include "ppapi/thunk/ppb_flash_menu_api.h"
     12 #include "ppapi/thunk/resource_creation_api.h"
     13 
     14 namespace ppapi {
     15 namespace thunk {
     16 
     17 namespace {
     18 
     19 PP_Resource Create(PP_Instance instance, const PP_Flash_Menu* menu_data) {
     20   EnterResourceCreation enter(instance);
     21   if (enter.failed())
     22     return 0;
     23   return enter.functions()->CreateFlashMenu(instance, menu_data);
     24 }
     25 
     26 PP_Bool IsFlashMenu(PP_Resource resource) {
     27   EnterResource<PPB_Flash_Menu_API> enter(resource, false);
     28   return PP_FromBool(enter.succeeded());
     29 }
     30 
     31 int32_t Show(PP_Resource resource,
     32              const PP_Point* location,
     33              int32_t* selected_id,
     34              PP_CompletionCallback callback) {
     35   EnterResource<PPB_Flash_Menu_API> enter(resource, callback, true);
     36   if (enter.failed())
     37     return enter.retval();
     38   return enter.SetResult(enter.object()->Show(location, selected_id,
     39                                               enter.callback()));
     40 }
     41 
     42 const PPB_Flash_Menu g_ppb_flash_menu_thunk = {
     43   &Create,
     44   &IsFlashMenu,
     45   &Show
     46 };
     47 
     48 }  // namespace
     49 
     50 const PPB_Flash_Menu_0_2* GetPPB_Flash_Menu_0_2_Thunk() {
     51   return &g_ppb_flash_menu_thunk;
     52 }
     53 
     54 }  // namespace thunk
     55 }  // namespace ppapi
     56