Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(398)

Side by Side Diff: runtime/bin/platform_impl.dart

Issue 10112002: Add read-only environment variable access. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Add windows error handling. Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698