Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(347)

Side by Side Diff: ppapi/thunk/ppb_file_io_api.h

Issue 10081020: PPAPI: Make blocking completion callbacks work. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: export AssertLockHeld Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « ppapi/thunk/ppb_file_chooser_thunk.cc ('k') | ppapi/thunk/ppb_file_io_thunk.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef PPAPI_THUNK_PPB_FILE_IO_API_H_ 5 #ifndef PPAPI_THUNK_PPB_FILE_IO_API_H_
6 #define PPAPI_THUNK_PPB_FILE_IO_API_H_ 6 #define PPAPI_THUNK_PPB_FILE_IO_API_H_
7 7
8 #include "base/memory/ref_counted.h"
8 #include "ppapi/c/ppb_file_io.h" 9 #include "ppapi/c/ppb_file_io.h"
9 #include "ppapi/thunk/ppapi_thunk_export.h" 10 #include "ppapi/thunk/ppapi_thunk_export.h"
10 11
11 namespace ppapi { 12 namespace ppapi {
13
14 class TrackedCallback;
15
12 namespace thunk { 16 namespace thunk {
13 17
14 class PPAPI_THUNK_EXPORT PPB_FileIO_API { 18 class PPAPI_THUNK_EXPORT PPB_FileIO_API {
15 public: 19 public:
16 virtual ~PPB_FileIO_API() {} 20 virtual ~PPB_FileIO_API() {}
17 21
18 virtual int32_t Open(PP_Resource file_ref, 22 virtual int32_t Open(PP_Resource file_ref,
19 int32_t open_flags, 23 int32_t open_flags,
20 PP_CompletionCallback callback) = 0; 24 scoped_refptr<TrackedCallback> callback) = 0;
21 virtual int32_t Query(PP_FileInfo* info, 25 virtual int32_t Query(PP_FileInfo* info,
22 PP_CompletionCallback callback) = 0; 26 scoped_refptr<TrackedCallback> callback) = 0;
23 virtual int32_t Touch(PP_Time last_access_time, 27 virtual int32_t Touch(PP_Time last_access_time,
24 PP_Time last_modified_time, 28 PP_Time last_modified_time,
25 PP_CompletionCallback callback) = 0; 29 scoped_refptr<TrackedCallback> callback) = 0;
26 virtual int32_t Read(int64_t offset, 30 virtual int32_t Read(int64_t offset,
27 char* buffer, 31 char* buffer,
28 int32_t bytes_to_read, 32 int32_t bytes_to_read,
29 PP_CompletionCallback callback) = 0; 33 scoped_refptr<TrackedCallback> callback) = 0;
30 virtual int32_t Write(int64_t offset, 34 virtual int32_t Write(int64_t offset,
31 const char* buffer, 35 const char* buffer,
32 int32_t bytes_to_write, 36 int32_t bytes_to_write,
33 PP_CompletionCallback callback) = 0; 37 scoped_refptr<TrackedCallback> callback) = 0;
34 virtual int32_t SetLength(int64_t length, 38 virtual int32_t SetLength(int64_t length,
35 PP_CompletionCallback callback) = 0; 39 scoped_refptr<TrackedCallback> callback) = 0;
36 virtual int32_t Flush(PP_CompletionCallback callback) = 0; 40 virtual int32_t Flush(scoped_refptr<TrackedCallback> callback) = 0;
37 virtual void Close() = 0; 41 virtual void Close() = 0;
38 42
39 // Trusted API. 43 // Trusted API.
40 virtual int32_t GetOSFileDescriptor() = 0; 44 virtual int32_t GetOSFileDescriptor() = 0;
41 virtual int32_t WillWrite(int64_t offset, 45 virtual int32_t WillWrite(int64_t offset,
42 int32_t bytes_to_write, 46 int32_t bytes_to_write,
43 PP_CompletionCallback callback) = 0; 47 scoped_refptr<TrackedCallback> callback) = 0;
44 virtual int32_t WillSetLength(int64_t length, 48 virtual int32_t WillSetLength(int64_t length,
45 PP_CompletionCallback callback) = 0; 49 scoped_refptr<TrackedCallback> callback) = 0;
46 }; 50 };
47 51
48 } // namespace thunk 52 } // namespace thunk
49 } // namespace ppapi 53 } // namespace ppapi
50 54
51 #endif // PPAPI_THUNK_PPB_FILE_IO_API_H_ 55 #endif // PPAPI_THUNK_PPB_FILE_IO_API_H_
OLDNEW
« no previous file with comments | « ppapi/thunk/ppb_file_chooser_thunk.cc ('k') | ppapi/thunk/ppb_file_io_thunk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698