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 #include "bin/file.h" | 5 #include "bin/file.h" |
6 | 6 |
7 #include "bin/builtin.h" | 7 #include "bin/builtin.h" |
8 #include "bin/dartutils.h" | 8 #include "bin/dartutils.h" |
9 #include "bin/io_buffer.h" | 9 #include "bin/io_buffer.h" |
10 #include "bin/thread.h" | 10 #include "bin/thread.h" |
(...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
501 if (result) { | 501 if (result) { |
502 Dart_SetReturnValue(args, Dart_NewBoolean(result)); | 502 Dart_SetReturnValue(args, Dart_NewBoolean(result)); |
503 } else { | 503 } else { |
504 Dart_Handle err = DartUtils::NewDartOSError(); | 504 Dart_Handle err = DartUtils::NewDartOSError(); |
505 if (Dart_IsError(err)) Dart_PropagateError(err); | 505 if (Dart_IsError(err)) Dart_PropagateError(err); |
506 Dart_SetReturnValue(args, err); | 506 Dart_SetReturnValue(args, err); |
507 } | 507 } |
508 } | 508 } |
509 | 509 |
510 | 510 |
511 void FUNCTION_NAME(File_ResolveSymbolicLinks)(Dart_NativeArguments args) { | 511 void FUNCTION_NAME(File_FullPath)(Dart_NativeArguments args) { |
512 const char* str = | 512 const char* str = |
513 DartUtils::GetStringValue(Dart_GetNativeArgument(args, 0)); | 513 DartUtils::GetStringValue(Dart_GetNativeArgument(args, 0)); |
514 char* path = File::GetCanonicalPath(str); | 514 char* path = File::GetCanonicalPath(str); |
515 if (path != NULL) { | 515 if (path != NULL) { |
516 Dart_SetReturnValue(args, DartUtils::NewString(path)); | 516 Dart_SetReturnValue(args, DartUtils::NewString(path)); |
517 free(path); | 517 free(path); |
518 } else { | 518 } else { |
519 Dart_Handle err = DartUtils::NewDartOSError(); | 519 Dart_Handle err = DartUtils::NewDartOSError(); |
520 if (Dart_IsError(err)) Dart_PropagateError(err); | 520 if (Dart_IsError(err)) Dart_PropagateError(err); |
521 Dart_SetReturnValue(args, err); | 521 Dart_SetReturnValue(args, err); |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
704 CObjectString old_path(request[1]); | 704 CObjectString old_path(request[1]); |
705 CObjectString new_path(request[2]); | 705 CObjectString new_path(request[2]); |
706 bool completed = File::Rename(old_path.CString(), new_path.CString()); | 706 bool completed = File::Rename(old_path.CString(), new_path.CString()); |
707 if (completed) return CObject::True(); | 707 if (completed) return CObject::True(); |
708 return CObject::NewOSError(); | 708 return CObject::NewOSError(); |
709 } | 709 } |
710 return CObject::IllegalArgumentError(); | 710 return CObject::IllegalArgumentError(); |
711 } | 711 } |
712 | 712 |
713 | 713 |
714 static CObject* FileResolveSymbolicLinksRequest(const CObjectArray& request) { | 714 static CObject* FileFullPathRequest(const CObjectArray& request) { |
715 if (request.Length() == 2 && request[1]->IsString()) { | 715 if (request.Length() == 2 && request[1]->IsString()) { |
716 CObjectString filename(request[1]); | 716 CObjectString filename(request[1]); |
717 char* result = File::GetCanonicalPath(filename.CString()); | 717 char* result = File::GetCanonicalPath(filename.CString()); |
718 if (result != NULL) { | 718 if (result != NULL) { |
719 CObject* path = new CObjectString(CObject::NewString(result)); | 719 CObject* path = new CObjectString(CObject::NewString(result)); |
720 free(result); | 720 free(result); |
721 return path; | 721 return path; |
722 } else { | 722 } else { |
723 return CObject::NewOSError(); | 723 return CObject::NewOSError(); |
724 } | 724 } |
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1184 break; | 1184 break; |
1185 case File::kOpenRequest: | 1185 case File::kOpenRequest: |
1186 response = FileOpenRequest(request); | 1186 response = FileOpenRequest(request); |
1187 break; | 1187 break; |
1188 case File::kDeleteRequest: | 1188 case File::kDeleteRequest: |
1189 response = FileDeleteRequest(request); | 1189 response = FileDeleteRequest(request); |
1190 break; | 1190 break; |
1191 case File::kRenameRequest: | 1191 case File::kRenameRequest: |
1192 response = FileRenameRequest(request); | 1192 response = FileRenameRequest(request); |
1193 break; | 1193 break; |
1194 case File::kResolveSymbolicLinksRequest: | 1194 case File::kFullPathRequest: |
1195 response = FileResolveSymbolicLinksRequest(request); | 1195 response = FileFullPathRequest(request); |
1196 break; | 1196 break; |
1197 case File::kCloseRequest: | 1197 case File::kCloseRequest: |
1198 response = FileCloseRequest(request); | 1198 response = FileCloseRequest(request); |
1199 break; | 1199 break; |
1200 case File::kPositionRequest: | 1200 case File::kPositionRequest: |
1201 response = FilePositionRequest(request); | 1201 response = FilePositionRequest(request); |
1202 break; | 1202 break; |
1203 case File::kSetPositionRequest: | 1203 case File::kSetPositionRequest: |
1204 response = FileSetPositionRequest(request); | 1204 response = FileSetPositionRequest(request); |
1205 break; | 1205 break; |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1274 Dart_Port service_port = File::GetServicePort(); | 1274 Dart_Port service_port = File::GetServicePort(); |
1275 if (service_port != ILLEGAL_PORT) { | 1275 if (service_port != ILLEGAL_PORT) { |
1276 // Return a send port for the service port. | 1276 // Return a send port for the service port. |
1277 Dart_Handle send_port = Dart_NewSendPort(service_port); | 1277 Dart_Handle send_port = Dart_NewSendPort(service_port); |
1278 Dart_SetReturnValue(args, send_port); | 1278 Dart_SetReturnValue(args, send_port); |
1279 } | 1279 } |
1280 } | 1280 } |
1281 | 1281 |
1282 } // namespace bin | 1282 } // namespace bin |
1283 } // namespace dart | 1283 } // namespace dart |
OLD | NEW |