Home | History | Annotate | Download | only in private
      1 // Copyright 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/isolated_file_system_private.h"
      6 
      7 #include "ppapi/cpp/module_impl.h"
      8 
      9 namespace pp {
     10 
     11 namespace {
     12 
     13 template <> const char* interface_name<PPB_IsolatedFileSystem_Private_0_2>() {
     14   return PPB_ISOLATEDFILESYSTEM_PRIVATE_INTERFACE_0_2;
     15 }
     16 
     17 }  // namespace
     18 
     19 IsolatedFileSystemPrivate::IsolatedFileSystemPrivate()
     20     : instance_(0), type_(PP_ISOLATEDFILESYSTEMTYPE_PRIVATE_INVALID) {
     21 }
     22 
     23 IsolatedFileSystemPrivate::IsolatedFileSystemPrivate(
     24     const InstanceHandle& instance,
     25     PP_IsolatedFileSystemType_Private type)
     26     : instance_(instance.pp_instance()), type_(type) {
     27 }
     28 
     29 IsolatedFileSystemPrivate::~IsolatedFileSystemPrivate() {
     30 }
     31 
     32 int32_t IsolatedFileSystemPrivate::Open(
     33     const CompletionCallbackWithOutput<pp::FileSystem>& cc) {
     34   if (!has_interface<PPB_IsolatedFileSystem_Private_0_2>())
     35     return cc.MayForce(PP_ERROR_NOINTERFACE);
     36   return get_interface<PPB_IsolatedFileSystem_Private_0_2>()->
     37       Open(instance_, type_, cc.output(), cc.pp_completion_callback());
     38 }
     39 
     40 }  // namespace pp
     41