1f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// found in the LICENSE file.
4f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#ifndef PPAPI_CPP_PRIVATE_ISOLATED_FILE_SYSTEM_PRIVATE_H_
6f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#define PPAPI_CPP_PRIVATE_ISOLATED_FILE_SYSTEM_PRIVATE_H_
7f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
8f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "ppapi/c/pp_instance.h"
9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "ppapi/c/private/ppb_isolated_file_system_private.h"
10f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "ppapi/cpp/completion_callback.h"
11f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "ppapi/cpp/file_system.h"
12f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "ppapi/cpp/instance_handle.h"
13f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)namespace pp {
15f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)class CompletionCallback;
17f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
18f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)class IsolatedFileSystemPrivate {
19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) public:
20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  IsolatedFileSystemPrivate();
21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  IsolatedFileSystemPrivate(const InstanceHandle& instance,
22f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)                            PP_IsolatedFileSystemType_Private type);
23f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  virtual ~IsolatedFileSystemPrivate();
24f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  int32_t Open(const CompletionCallbackWithOutput<pp::FileSystem>& cc);
26f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
27f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) private:
28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  PP_Instance instance_;
29f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  PP_IsolatedFileSystemType_Private type_;
30f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)};
31f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
32f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)}  // namespace pp
33f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
34f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#endif  // PPAPI_CPP_PRIVATE_ISOLATED_FILE_SYSTEM_PRIVATE_H_
35