| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #if !defined(DART_IO_DISABLED) | 5 #if !defined(DART_IO_DISABLED) |
| 6 | 6 |
| 7 #include "bin/file.h" | 7 #include "bin/file.h" |
| 8 | 8 |
| 9 #include "bin/builtin.h" | 9 #include "bin/builtin.h" |
| 10 #include "bin/dartutils.h" | 10 #include "bin/dartutils.h" |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 const char* filename = | 85 const char* filename = |
| 86 DartUtils::GetStringValue(Dart_GetNativeArgument(args, 0)); | 86 DartUtils::GetStringValue(Dart_GetNativeArgument(args, 0)); |
| 87 int64_t mode = DartUtils::GetIntegerValue(Dart_GetNativeArgument(args, 1)); | 87 int64_t mode = DartUtils::GetIntegerValue(Dart_GetNativeArgument(args, 1)); |
| 88 File::DartFileOpenMode dart_file_mode = | 88 File::DartFileOpenMode dart_file_mode = |
| 89 static_cast<File::DartFileOpenMode>(mode); | 89 static_cast<File::DartFileOpenMode>(mode); |
| 90 File::FileOpenMode file_mode = File::DartModeToFileMode(dart_file_mode); | 90 File::FileOpenMode file_mode = File::DartModeToFileMode(dart_file_mode); |
| 91 // Check that the file exists before opening it only for | 91 // Check that the file exists before opening it only for |
| 92 // reading. This is to prevent the opening of directories as | 92 // reading. This is to prevent the opening of directories as |
| 93 // files. Directories can be opened for reading using the posix | 93 // files. Directories can be opened for reading using the posix |
| 94 // 'open' call. | 94 // 'open' call. |
| 95 File* file = File::ScopedOpen(filename, file_mode); | 95 File* file = File::Open(filename, file_mode); |
| 96 if (file != NULL) { | 96 if (file != NULL) { |
| 97 Dart_SetReturnValue(args, | 97 Dart_SetReturnValue(args, |
| 98 Dart_NewInteger(reinterpret_cast<intptr_t>(file))); | 98 Dart_NewInteger(reinterpret_cast<intptr_t>(file))); |
| 99 } else { | 99 } else { |
| 100 Dart_SetReturnValue(args, DartUtils::NewDartOSError()); | 100 Dart_SetReturnValue(args, DartUtils::NewDartOSError()); |
| 101 } | 101 } |
| 102 } | 102 } |
| 103 | 103 |
| 104 | 104 |
| 105 void FUNCTION_NAME(File_Exists)(Dart_NativeArguments args) { | 105 void FUNCTION_NAME(File_Exists)(Dart_NativeArguments args) { |
| (...skipping 564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 670 CObject* File::OpenRequest(const CObjectArray& request) { | 670 CObject* File::OpenRequest(const CObjectArray& request) { |
| 671 File* file = NULL; | 671 File* file = NULL; |
| 672 if ((request.Length() == 2) && | 672 if ((request.Length() == 2) && |
| 673 request[0]->IsString() && | 673 request[0]->IsString() && |
| 674 request[1]->IsInt32()) { | 674 request[1]->IsInt32()) { |
| 675 CObjectString filename(request[0]); | 675 CObjectString filename(request[0]); |
| 676 CObjectInt32 mode(request[1]); | 676 CObjectInt32 mode(request[1]); |
| 677 File::DartFileOpenMode dart_file_mode = | 677 File::DartFileOpenMode dart_file_mode = |
| 678 static_cast<File::DartFileOpenMode>(mode.Value()); | 678 static_cast<File::DartFileOpenMode>(mode.Value()); |
| 679 File::FileOpenMode file_mode = File::DartModeToFileMode(dart_file_mode); | 679 File::FileOpenMode file_mode = File::DartModeToFileMode(dart_file_mode); |
| 680 file = File::ScopedOpen(filename.CString(), file_mode); | 680 file = File::Open(filename.CString(), file_mode); |
| 681 if (file != NULL) { | 681 if (file != NULL) { |
| 682 return new CObjectIntptr( | 682 return new CObjectIntptr( |
| 683 CObject::NewIntptr(reinterpret_cast<intptr_t>(file))); | 683 CObject::NewIntptr(reinterpret_cast<intptr_t>(file))); |
| 684 } else { | 684 } else { |
| 685 return CObject::NewOSError(); | 685 return CObject::NewOSError(); |
| 686 } | 686 } |
| 687 } | 687 } |
| 688 return CObject::IllegalArgumentError(); | 688 return CObject::IllegalArgumentError(); |
| 689 } | 689 } |
| 690 | 690 |
| (...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1230 return CObject::IllegalArgumentError(); | 1230 return CObject::IllegalArgumentError(); |
| 1231 } | 1231 } |
| 1232 } | 1232 } |
| 1233 return CObject::IllegalArgumentError(); | 1233 return CObject::IllegalArgumentError(); |
| 1234 } | 1234 } |
| 1235 | 1235 |
| 1236 } // namespace bin | 1236 } // namespace bin |
| 1237 } // namespace dart | 1237 } // namespace dart |
| 1238 | 1238 |
| 1239 #endif // !defined(DART_IO_DISABLED) | 1239 #endif // !defined(DART_IO_DISABLED) |
| OLD | NEW |