Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / ppapi / thunk / ppb_file_system_api.h
blob0351bde4c1231d2ba103c060b0a2c1a5e709db00
1 // Copyright (c) 2012 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 #ifndef PPAPI_THUNK_PPB_FILE_SYSTEM_API_H_
6 #define PPAPI_THUNK_PPB_FILE_SYSTEM_API_H_
8 #include "base/callback_forward.h"
9 #include "base/memory/ref_counted.h"
10 #include "ppapi/c/ppb_file_system.h"
12 namespace ppapi {
14 class TrackedCallback;
16 namespace thunk {
18 class PPB_FileSystem_API {
19 public:
20 virtual ~PPB_FileSystem_API() {}
22 virtual int32_t Open(int64_t expected_size,
23 scoped_refptr<TrackedCallback> callback) = 0;
24 virtual PP_FileSystemType GetType() = 0;
25 virtual void OpenQuotaFile(PP_Resource file_io) = 0;
26 virtual void CloseQuotaFile(PP_Resource file_io) = 0;
27 typedef base::Callback<void(int64_t)> RequestQuotaCallback;
28 virtual int64_t RequestQuota(int64_t amount,
29 const RequestQuotaCallback& callback) = 0;
32 } // namespace thunk
33 } // namespace ppapi
35 #endif // PPAPI_THUNK_PPB_FILE_SYSTEM_API_H_