1b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)// found in the LICENSE file. 4b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 5b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "ppapi/c/pp_completion_callback.h" 6b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "ppapi/c/pp_errors.h" 7b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "ppapi/c/private/ppb_ext_crx_file_system_private.h" 8b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "ppapi/shared_impl/tracked_callback.h" 9b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "ppapi/thunk/enter.h" 10b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "ppapi/thunk/ppb_instance_api.h" 11f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "ppapi/thunk/ppb_isolated_file_system_private_api.h" 12b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "ppapi/thunk/resource_creation_api.h" 13b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)#include "ppapi/thunk/thunk.h" 14b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 15b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)namespace ppapi { 16b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)namespace thunk { 17b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 18b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)namespace { 19b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 20b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)int32_t Open(PP_Instance instance, 21b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) PP_Resource* file_system, 22b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) struct PP_CompletionCallback callback) { 23b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) VLOG(4) << "PPB_Ext_CrxFileSystem_Private::Open()"; 24f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) EnterInstanceAPI<PPB_IsolatedFileSystem_Private_API> enter(instance, 25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) callback); 26b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) if (enter.failed()) 27b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) return enter.retval(); 28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) return enter.SetResult(enter.functions()->Open( 29f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) instance, 30f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_CRX, 31f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) file_system, 32f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) enter.callback())); 33b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)} 34b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 35b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)const PPB_Ext_CrxFileSystem_Private_0_1 36b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) g_ppb_ext_crxfilesystem_private_thunk_0_1 = { 37b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) &Open 38b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)}; 39b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 40b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)} // namespace 41b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 42b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)const PPB_Ext_CrxFileSystem_Private_0_1* 43b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) GetPPB_Ext_CrxFileSystem_Private_0_1_Thunk() { 44b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) return &g_ppb_ext_crxfilesystem_private_thunk_0_1; 45b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)} 46b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles) 47b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)} // namespace thunk 48b2df76ea8fec9e32f6f3718986dba0d95315b29cTorne (Richard Coles)} // namespace ppapi 49