OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 #include "bin/platform.h" | 6 #include "bin/platform.h" |
7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
8 | 8 |
9 | 9 |
10 void FUNCTION_NAME(Platform_NumberOfProcessors)(Dart_NativeArguments args) { | 10 void FUNCTION_NAME(Platform_NumberOfProcessors)(Dart_NativeArguments args) { |
11 Dart_EnterScope(); | 11 Dart_EnterScope(); |
(...skipping 20 matching lines...) Expand all Loading... |
32 Dart_EnterScope(); | 32 Dart_EnterScope(); |
33 const intptr_t HOSTNAME_LENGTH = 256; | 33 const intptr_t HOSTNAME_LENGTH = 256; |
34 char hostname[HOSTNAME_LENGTH]; | 34 char hostname[HOSTNAME_LENGTH]; |
35 if (Platform::LocalHostname(hostname, HOSTNAME_LENGTH)) { | 35 if (Platform::LocalHostname(hostname, HOSTNAME_LENGTH)) { |
36 Dart_SetReturnValue(args, Dart_NewString(hostname)); | 36 Dart_SetReturnValue(args, Dart_NewString(hostname)); |
37 } else { | 37 } else { |
38 Dart_SetReturnValue(args, DartUtils::NewDartOSError()); | 38 Dart_SetReturnValue(args, DartUtils::NewDartOSError()); |
39 } | 39 } |
40 Dart_ExitScope(); | 40 Dart_ExitScope(); |
41 } | 41 } |
| 42 |
| 43 |
| 44 void FUNCTION_NAME(Platform_Environment)(Dart_NativeArguments args) { |
| 45 Dart_EnterScope(); |
| 46 intptr_t count = 0; |
| 47 char** env = Platform::Environment(&count); |
| 48 if (env == NULL) { |
| 49 OSError error(-1, |
| 50 "Failed to retrieve environment variables.", |
| 51 OSError::kUnknown); |
| 52 Dart_SetReturnValue(args, DartUtils::NewDartOSError(&error)); |
| 53 } else { |
| 54 Dart_Handle result = Dart_NewList(count); |
| 55 if (Dart_IsError(result)) { |
| 56 Dart_PropagateError(result); |
| 57 } |
| 58 for (intptr_t i = 0; i < count; i++) { |
| 59 Dart_Handle str = Dart_NewString(env[i]); |
| 60 if (Dart_IsError(str)) { |
| 61 Dart_PropagateError(str); |
| 62 } |
| 63 Dart_Handle error = Dart_ListSetAt(result, i, str); |
| 64 if (Dart_IsError(error)) { |
| 65 Dart_PropagateError(error); |
| 66 } |
| 67 } |
| 68 delete[] env; |
| 69 Dart_SetReturnValue(args, result); |
| 70 } |
| 71 Dart_ExitScope(); |
| 72 } |
OLD | NEW |