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.
5 #include "ppapi/cpp/private/ext_crx_file_system_private.h"
7 #include "ppapi/c/private/ppb_ext_crx_file_system_private.h"
8 #include "ppapi/cpp/module_impl.h"
14 template <> const char* interface_name
<PPB_Ext_CrxFileSystem_Private_0_1
>() {
15 return PPB_EXT_CRXFILESYSTEM_PRIVATE_INTERFACE_0_1
;
20 ExtCrxFileSystemPrivate::ExtCrxFileSystemPrivate() {
23 ExtCrxFileSystemPrivate::ExtCrxFileSystemPrivate(
24 const InstanceHandle
& instance
) : instance_(instance
.pp_instance()) {
27 ExtCrxFileSystemPrivate::~ExtCrxFileSystemPrivate() {
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());