OLD | NEW |
1 // Copyright (c) 2012 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 #include "ppapi/c/pp_file_info.h" | 5 #include "ppapi/c/pp_file_info.h" |
6 #include "ppapi/c/ppb_file_ref.h" | 6 #include "ppapi/c/ppb_file_ref.h" |
7 #include "ppapi/c/pp_completion_callback.h" | 7 #include "ppapi/c/pp_completion_callback.h" |
8 #include "ppapi/c/pp_errors.h" | 8 #include "ppapi/c/pp_errors.h" |
9 #include "ppapi/c/private/ppb_file_ref_private.h" | 9 #include "ppapi/c/private/ppb_file_ref_private.h" |
10 #include "ppapi/shared_impl/file_ref_create_info.h" | 10 #include "ppapi/shared_impl/file_ref_create_info.h" |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 | 82 |
83 int32_t MakeDirectory(PP_Resource directory_ref, | 83 int32_t MakeDirectory(PP_Resource directory_ref, |
84 PP_Bool make_ancestors, | 84 PP_Bool make_ancestors, |
85 PP_CompletionCallback callback) { | 85 PP_CompletionCallback callback) { |
86 VLOG(4) << "PPB_FileRef::MakeDirectory()"; | 86 VLOG(4) << "PPB_FileRef::MakeDirectory()"; |
87 EnterFileRef enter(directory_ref, callback, true); | 87 EnterFileRef enter(directory_ref, callback, true); |
88 if (enter.failed()) | 88 if (enter.failed()) |
89 return enter.retval(); | 89 return enter.retval(); |
90 int32_t flag = make_ancestors ? PP_MAKEDIRECTORYFLAG_WITH_ANCESTORS | 90 int32_t flag = make_ancestors ? PP_MAKEDIRECTORYFLAG_WITH_ANCESTORS |
91 : PP_MAKEDIRECTORYFLAG_NONE; | 91 : PP_MAKEDIRECTORYFLAG_NONE; |
92 return enter.SetResult(enter.object()->MakeDirectory( | 92 return enter.SetResult(enter.object()->MakeDirectory(flag, enter.callback())); |
93 flag, enter.callback())); | |
94 } | 93 } |
95 | 94 |
96 int32_t MakeDirectory_1_2(PP_Resource directory_ref, | 95 int32_t MakeDirectory_1_2(PP_Resource directory_ref, |
97 int32_t make_directory_flags, | 96 int32_t make_directory_flags, |
98 PP_CompletionCallback callback) { | 97 PP_CompletionCallback callback) { |
99 VLOG(4) << "PPB_FileRef::MakeDirectory()"; | 98 VLOG(4) << "PPB_FileRef::MakeDirectory()"; |
100 EnterFileRef enter(directory_ref, callback, true); | 99 EnterFileRef enter(directory_ref, callback, true); |
101 if (enter.failed()) | 100 if (enter.failed()) |
102 return enter.retval(); | 101 return enter.retval(); |
103 return enter.SetResult(enter.object()->MakeDirectory( | 102 return enter.SetResult( |
104 make_directory_flags, enter.callback())); | 103 enter.object()->MakeDirectory(make_directory_flags, enter.callback())); |
105 } | 104 } |
106 | 105 |
107 int32_t Touch(PP_Resource file_ref, | 106 int32_t Touch(PP_Resource file_ref, |
108 PP_Time last_access_time, | 107 PP_Time last_access_time, |
109 PP_Time last_modified_time, | 108 PP_Time last_modified_time, |
110 PP_CompletionCallback callback) { | 109 PP_CompletionCallback callback) { |
111 VLOG(4) << "PPB_FileRef::Touch()"; | 110 VLOG(4) << "PPB_FileRef::Touch()"; |
112 EnterFileRef enter(file_ref, callback, true); | 111 EnterFileRef enter(file_ref, callback, true); |
113 if (enter.failed()) | 112 if (enter.failed()) |
114 return enter.retval(); | 113 return enter.retval(); |
115 return enter.SetResult(enter.object()->Touch( | 114 return enter.SetResult(enter.object()->Touch( |
116 last_access_time, last_modified_time, enter.callback())); | 115 last_access_time, last_modified_time, enter.callback())); |
117 } | 116 } |
118 | 117 |
119 int32_t Delete(PP_Resource file_ref, | 118 int32_t Delete(PP_Resource file_ref, PP_CompletionCallback callback) { |
120 PP_CompletionCallback callback) { | |
121 VLOG(4) << "PPB_FileRef::Delete()"; | 119 VLOG(4) << "PPB_FileRef::Delete()"; |
122 EnterFileRef enter(file_ref, callback, true); | 120 EnterFileRef enter(file_ref, callback, true); |
123 if (enter.failed()) | 121 if (enter.failed()) |
124 return enter.retval(); | 122 return enter.retval(); |
125 return enter.SetResult(enter.object()->Delete(enter.callback())); | 123 return enter.SetResult(enter.object()->Delete(enter.callback())); |
126 } | 124 } |
127 | 125 |
128 int32_t Rename(PP_Resource file_ref, | 126 int32_t Rename(PP_Resource file_ref, |
129 PP_Resource new_file_ref, | 127 PP_Resource new_file_ref, |
130 PP_CompletionCallback callback) { | 128 PP_CompletionCallback callback) { |
131 VLOG(4) << "PPB_FileRef::Rename()"; | 129 VLOG(4) << "PPB_FileRef::Rename()"; |
132 EnterFileRef enter(file_ref, callback, true); | 130 EnterFileRef enter(file_ref, callback, true); |
133 if (enter.failed()) | 131 if (enter.failed()) |
134 return enter.retval(); | 132 return enter.retval(); |
135 return enter.SetResult(enter.object()->Rename(new_file_ref, | 133 return enter.SetResult( |
136 enter.callback())); | 134 enter.object()->Rename(new_file_ref, enter.callback())); |
137 } | 135 } |
138 | 136 |
139 int32_t Query(PP_Resource file_ref, | 137 int32_t Query(PP_Resource file_ref, |
140 PP_FileInfo* info, | 138 PP_FileInfo* info, |
141 PP_CompletionCallback callback) { | 139 PP_CompletionCallback callback) { |
142 VLOG(4) << "PPB_FileRef::Query()"; | 140 VLOG(4) << "PPB_FileRef::Query()"; |
143 EnterFileRef enter(file_ref, callback, true); | 141 EnterFileRef enter(file_ref, callback, true); |
144 if (enter.failed()) | 142 if (enter.failed()) |
145 return enter.retval(); | 143 return enter.retval(); |
146 return enter.SetResult(enter.object()->Query(info, | 144 return enter.SetResult(enter.object()->Query(info, enter.callback())); |
147 enter.callback())); | |
148 } | 145 } |
149 | 146 |
150 int32_t ReadDirectoryEntries(PP_Resource file_ref, | 147 int32_t ReadDirectoryEntries(PP_Resource file_ref, |
151 PP_ArrayOutput output, | 148 PP_ArrayOutput output, |
152 PP_CompletionCallback callback) { | 149 PP_CompletionCallback callback) { |
153 EnterFileRef enter(file_ref, callback, true); | 150 EnterFileRef enter(file_ref, callback, true); |
154 if (enter.failed()) | 151 if (enter.failed()) |
155 return enter.retval(); | 152 return enter.retval(); |
156 return enter.SetResult(enter.object()->ReadDirectoryEntries( | 153 return enter.SetResult( |
157 output, enter.callback())); | 154 enter.object()->ReadDirectoryEntries(output, enter.callback())); |
158 } | 155 } |
159 | 156 |
160 PP_Var GetAbsolutePath(PP_Resource file_ref) { | 157 PP_Var GetAbsolutePath(PP_Resource file_ref) { |
161 VLOG(4) << "PPB_FileRef::GetAbsolutePath"; | 158 VLOG(4) << "PPB_FileRef::GetAbsolutePath"; |
162 EnterFileRef enter(file_ref, true); | 159 EnterFileRef enter(file_ref, true); |
163 if (enter.failed()) | 160 if (enter.failed()) |
164 return PP_MakeUndefined(); | 161 return PP_MakeUndefined(); |
165 return enter.object()->GetAbsolutePath(); | 162 return enter.object()->GetAbsolutePath(); |
166 } | 163 } |
167 | 164 |
168 const PPB_FileRef_1_0 g_ppb_file_ref_thunk_1_0 = { | 165 const PPB_FileRef_1_0 g_ppb_file_ref_thunk_1_0 = { |
169 &Create, | 166 &Create, &IsFileRef, &GetFileSystemType, &GetName, &GetPath, |
170 &IsFileRef, | 167 &GetParent, &MakeDirectory, &Touch, &Delete, &Rename}; |
171 &GetFileSystemType, | |
172 &GetName, | |
173 &GetPath, | |
174 &GetParent, | |
175 &MakeDirectory, | |
176 &Touch, | |
177 &Delete, | |
178 &Rename | |
179 }; | |
180 | 168 |
181 const PPB_FileRef_1_1 g_ppb_file_ref_thunk_1_1 = { | 169 const PPB_FileRef_1_1 g_ppb_file_ref_thunk_1_1 = { |
182 &Create, | 170 &Create, &IsFileRef, &GetFileSystemType, &GetName, |
183 &IsFileRef, | 171 &GetPath, &GetParent, &MakeDirectory, &Touch, |
184 &GetFileSystemType, | 172 &Delete, &Rename, &Query, &ReadDirectoryEntries}; |
185 &GetName, | |
186 &GetPath, | |
187 &GetParent, | |
188 &MakeDirectory, | |
189 &Touch, | |
190 &Delete, | |
191 &Rename, | |
192 &Query, | |
193 &ReadDirectoryEntries | |
194 }; | |
195 | 173 |
196 const PPB_FileRef_1_2 g_ppb_file_ref_thunk_1_2 = { | 174 const PPB_FileRef_1_2 g_ppb_file_ref_thunk_1_2 = { |
197 &Create, | 175 &Create, &IsFileRef, &GetFileSystemType, &GetName, |
198 &IsFileRef, | 176 &GetPath, &GetParent, &MakeDirectory_1_2, &Touch, |
199 &GetFileSystemType, | 177 &Delete, &Rename, &Query, &ReadDirectoryEntries}; |
200 &GetName, | |
201 &GetPath, | |
202 &GetParent, | |
203 &MakeDirectory_1_2, | |
204 &Touch, | |
205 &Delete, | |
206 &Rename, | |
207 &Query, | |
208 &ReadDirectoryEntries | |
209 }; | |
210 | 178 |
211 const PPB_FileRefPrivate g_ppb_file_ref_private_thunk = { | 179 const PPB_FileRefPrivate g_ppb_file_ref_private_thunk = {&GetAbsolutePath}; |
212 &GetAbsolutePath | |
213 }; | |
214 | 180 |
215 } // namespace | 181 } // namespace |
216 | 182 |
217 const PPB_FileRef_1_0* GetPPB_FileRef_1_0_Thunk() { | 183 const PPB_FileRef_1_0* GetPPB_FileRef_1_0_Thunk() { |
218 return &g_ppb_file_ref_thunk_1_0; | 184 return &g_ppb_file_ref_thunk_1_0; |
219 } | 185 } |
220 | 186 |
221 const PPB_FileRef_1_1* GetPPB_FileRef_1_1_Thunk() { | 187 const PPB_FileRef_1_1* GetPPB_FileRef_1_1_Thunk() { |
222 return &g_ppb_file_ref_thunk_1_1; | 188 return &g_ppb_file_ref_thunk_1_1; |
223 } | 189 } |
224 | 190 |
225 const PPB_FileRef_1_2* GetPPB_FileRef_1_2_Thunk() { | 191 const PPB_FileRef_1_2* GetPPB_FileRef_1_2_Thunk() { |
226 return &g_ppb_file_ref_thunk_1_2; | 192 return &g_ppb_file_ref_thunk_1_2; |
227 } | 193 } |
228 | 194 |
229 const PPB_FileRefPrivate_0_1* GetPPB_FileRefPrivate_0_1_Thunk() { | 195 const PPB_FileRefPrivate_0_1* GetPPB_FileRefPrivate_0_1_Thunk() { |
230 return &g_ppb_file_ref_private_thunk; | 196 return &g_ppb_file_ref_private_thunk; |
231 } | 197 } |
232 | 198 |
233 } // namespace thunk | 199 } // namespace thunk |
234 } // namespace ppapi | 200 } // namespace ppapi |
OLD | NEW |