| 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 |