1 // Copyright (c) 2013 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/cpp/private/ext_crx_file_system_private.h" 6 7 #include "ppapi/c/private/ppb_ext_crx_file_system_private.h" 8 #include "ppapi/cpp/module_impl.h" 9 10 namespace pp { 11 12 namespace { 13 14 template <> const char* interface_name<PPB_Ext_CrxFileSystem_Private_0_1>() { 15 return PPB_EXT_CRXFILESYSTEM_PRIVATE_INTERFACE_0_1; 16 } 17 18 } // namespace 19 20 ExtCrxFileSystemPrivate::ExtCrxFileSystemPrivate() { 21 } 22 23 ExtCrxFileSystemPrivate::ExtCrxFileSystemPrivate( 24 const InstanceHandle& instance) : instance_(instance.pp_instance()) { 25 } 26 27 ExtCrxFileSystemPrivate::~ExtCrxFileSystemPrivate() { 28 } 29 30 int32_t ExtCrxFileSystemPrivate::Open( 31 const CompletionCallbackWithOutput<pp::FileSystem>& cc) { 32 if (!has_interface<PPB_Ext_CrxFileSystem_Private_0_1>()) 33 return cc.MayForce(PP_ERROR_NOINTERFACE); 34 return get_interface<PPB_Ext_CrxFileSystem_Private_0_1>()-> 35 Open(instance_, cc.output(), cc.pp_completion_callback()); 36 } 37 38 } // namespace pp 39