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 class _Platform implements Platform { | 5 class _Platform implements Platform { |
6 _Platform(); | 6 _Platform(); |
7 | 7 |
8 static int _numberOfProcessors() native "Platform_NumberOfProcessors"; | 8 static int _numberOfProcessors() native "Platform_NumberOfProcessors"; |
9 static String _pathSeparator() native "Platform_PathSeparator"; | 9 static String _pathSeparator() native "Platform_PathSeparator"; |
10 static String _operatingSystem() native "Platform_OperatingSystem"; | 10 static String _operatingSystem() native "Platform_OperatingSystem"; |
11 static _localHostname() native "Platform_LocalHostname"; | 11 static _localHostname() native "Platform_LocalHostname"; |
| 12 static _environment() native "Platform_Environment"; |
12 | 13 |
13 int numberOfProcessors() { | 14 int numberOfProcessors() { |
14 return _numberOfProcessors(); | 15 return _numberOfProcessors(); |
15 } | 16 } |
16 | 17 |
17 String pathSeparator() { | 18 String pathSeparator() { |
18 return _pathSeparator(); | 19 return _pathSeparator(); |
19 } | 20 } |
20 | 21 |
21 String operatingSystem() { | 22 String operatingSystem() { |
22 return _operatingSystem(); | 23 return _operatingSystem(); |
23 } | 24 } |
24 | 25 |
25 String localHostname() { | 26 String localHostname() { |
26 var result = _localHostname(); | 27 var result = _localHostname(); |
27 if (result is OSError) { | 28 if (result is OSError) { |
28 throw result; | 29 throw result; |
29 } else { | 30 } else { |
30 return result; | 31 return result; |
31 } | 32 } |
32 } | 33 } |
| 34 |
| 35 Map<String, String> environment() { |
| 36 var env = _environment(); |
| 37 if (env is OSError) { |
| 38 throw env; |
| 39 } else { |
| 40 var result = new Map(); |
| 41 for (var str in env) { |
| 42 var equalsIndex = str.indexOf('='); |
| 43 assert(equalsIndex != -1); |
| 44 result[str.substring(0, equalsIndex)] = str.substring(equalsIndex + 1); |
| 45 } |
| 46 return result; |
| 47 } |
| 48 } |
33 } | 49 } |
OLD | NEW |