15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// From private/ppb_flash_device_id.idl modified Thu Dec 20 13:10:26 2012. 62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ppapi/c/pp_completion_callback.h" 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ppapi/c/pp_errors.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/private/ppb_flash_device_id.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ppapi/shared_impl/tracked_callback.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/thunk/enter.h" 1290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "ppapi/thunk/ppb_flash_drm_api.h" 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ppapi/thunk/ppb_instance_api.h" 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/thunk/resource_creation_api.h" 152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ppapi/thunk/thunk.h" 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ppapi { 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace thunk { 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace { 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PP_Resource Create(PP_Instance instance) { 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) VLOG(4) << "PPB_Flash_DeviceID::Create()"; 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) EnterResourceCreation enter(instance); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (enter.failed()) 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return 0; 2790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return enter.functions()->CreateFlashDRM(instance); 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)int32_t GetDeviceID(PP_Resource device_id, 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) struct PP_Var* id, 322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) struct PP_CompletionCallback callback) { 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) VLOG(4) << "PPB_Flash_DeviceID::GetDeviceID()"; 3490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) EnterResource<PPB_Flash_DRM_API> enter(device_id, callback, true); 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (enter.failed()) 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return enter.retval(); 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return enter.SetResult(enter.object()->GetDeviceID(id, enter.callback())); 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)const PPB_Flash_DeviceID_1_0 g_ppb_flash_deviceid_thunk_1_0 = { 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) &Create, 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) &GetDeviceID 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const PPB_Flash_DeviceID_1_0* GetPPB_Flash_DeviceID_1_0_Thunk() { 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return &g_ppb_flash_deviceid_thunk_1_0; 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace thunk 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace ppapi 53