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

Side by Side Diff: ppapi/thunk/ppb_file_ref_thunk.cc

Issue 7006022: Revert 87415 - Convert more interfaces to the new thunk system. This goes up to and including (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 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_ref_api.h ('k') | ppapi/thunk/ppb_file_system_api.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2011 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/c/dev/pp_file_info_dev.h"
6 #include "ppapi/c/dev/ppb_file_ref_dev.h"
7 #include "ppapi/c/pp_completion_callback.h"
8 #include "ppapi/c/pp_errors.h"
9 #include "ppapi/thunk/thunk.h"
10 #include "ppapi/thunk/enter.h"
11 #include "ppapi/thunk/ppb_file_ref_api.h"
12 #include "ppapi/thunk/resource_creation_api.h"
13
14 namespace ppapi {
15 namespace thunk {
16
17 namespace {
18
19 PP_Resource Create(PP_Resource file_system, const char* path) {
20 EnterFunctionGivenResource<ResourceCreationAPI> enter(file_system, true);
21 if (enter.failed())
22 return 0;
23 return enter.functions()->CreateFileRef(file_system, path);
24 }
25
26 PP_Bool IsFileRef(PP_Resource resource) {
27 EnterResource<PPB_FileRef_API> enter(resource, false);
28 return PP_FromBool(enter.succeeded());
29 }
30
31 PP_FileSystemType_Dev GetFileSystemType(PP_Resource file_ref) {
32 EnterResource<PPB_FileRef_API> enter(file_ref, true);
33 if (enter.failed())
34 return PP_FILESYSTEMTYPE_INVALID;
35 return enter.object()->GetFileSystemType();
36 }
37
38 PP_Var GetName(PP_Resource file_ref) {
39 EnterResource<PPB_FileRef_API> enter(file_ref, true);
40 if (enter.failed())
41 return PP_MakeUndefined();
42 return enter.object()->GetName();
43 }
44
45 PP_Var GetPath(PP_Resource file_ref) {
46 EnterResource<PPB_FileRef_API> enter(file_ref, true);
47 if (enter.failed())
48 return PP_MakeUndefined();
49 return enter.object()->GetPath();
50 }
51
52 PP_Resource GetParent(PP_Resource file_ref) {
53 EnterResource<PPB_FileRef_API> enter(file_ref, true);
54 if (enter.failed())
55 return PP_ERROR_BADRESOURCE;
56 return enter.object()->GetParent();
57 }
58
59 int32_t MakeDirectory(PP_Resource directory_ref,
60 PP_Bool make_ancestors,
61 PP_CompletionCallback callback) {
62 EnterResource<PPB_FileRef_API> enter(directory_ref, true);
63 if (enter.failed())
64 return PP_ERROR_BADRESOURCE;
65 return enter.object()->MakeDirectory(make_ancestors, callback);
66 }
67
68 int32_t Touch(PP_Resource file_ref,
69 PP_Time last_access_time,
70 PP_Time last_modified_time,
71 PP_CompletionCallback callback) {
72 EnterResource<PPB_FileRef_API> enter(file_ref, true);
73 if (enter.failed())
74 return PP_ERROR_BADRESOURCE;
75 return enter.object()->Touch(last_access_time, last_modified_time, callback);
76 }
77
78 int32_t Delete(PP_Resource file_ref,
79 PP_CompletionCallback callback) {
80 EnterResource<PPB_FileRef_API> enter(file_ref, true);
81 if (enter.failed())
82 return PP_ERROR_BADRESOURCE;
83 return enter.object()->Delete(callback);
84 }
85
86 int32_t Rename(PP_Resource file_ref,
87 PP_Resource new_file_ref,
88 PP_CompletionCallback callback) {
89 EnterResource<PPB_FileRef_API> enter(file_ref, true);
90 if (enter.failed())
91 return PP_ERROR_BADRESOURCE;
92 return enter.object()->Rename(new_file_ref, callback);
93 }
94
95 const PPB_FileRef_Dev g_ppb_file_ref_thunk = {
96 &Create,
97 &IsFileRef,
98 &GetFileSystemType,
99 &GetName,
100 &GetPath,
101 &GetParent,
102 &MakeDirectory,
103 &Touch,
104 &Delete,
105 &Rename
106 };
107
108 } // namespace
109
110 const PPB_FileRef_Dev* GetPPB_FileRef_Thunk() {
111 return &g_ppb_file_ref_thunk;
112 }
113
114 } // namespace thunk
115 } // namespace ppapi
OLDNEW
« no previous file with comments | « ppapi/thunk/ppb_file_ref_api.h ('k') | ppapi/thunk/ppb_file_system_api.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698