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

Unified Diff: lib/io/process.dart

Issue 11337019: Use patching for dart:io. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: lib/io/process.dart
diff --git a/runtime/bin/process.dart b/lib/io/process.dart
similarity index 90%
rename from runtime/bin/process.dart
rename to lib/io/process.dart
index 9d5206c94f1c2231011cf17801301df7fb473603..3c514f77bc9895ff654c154a931a99a752af16e7 100644
--- a/runtime/bin/process.dart
+++ b/lib/io/process.dart
@@ -2,19 +2,23 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+class _ProcessUtils {
Søren Gjesse 2012/10/30 09:28:32 TODO?
Mads Ager (google) 2012/10/30 11:12:40 Done.
+ external static _exit(int status);
+}
+
/** Exit the Dart VM process with the given [status] code. */
void exit(int status) {
if (status is !int) {
throw new ArgumentError("int status expected");
}
- _exit(status);
+ _ProcessUtils._exit(status);
}
/**
* [Process] is used to start new processes using the static
* [start] and [run] methods.
*/
-class Process {
+abstract class Process {
/**
* Starts a process running the [executable] with the specified
* [arguments]. Returns a [:Future<Process>:] that completes with a
@@ -31,11 +35,9 @@ class Process {
* does not read all data on the streams the underlying system
* resources will not be freed since there is still pending data.
*/
- static Future<Process> start(String executable,
- List<String> arguments,
- [ProcessOptions options]) {
- return _Process.start(executable, arguments, options);
- }
+ external static Future<Process> start(String executable,
+ List<String> arguments,
+ [ProcessOptions options]);
/**
* Starts a process and runs it non-interactively to completion. The
@@ -48,11 +50,9 @@ class Process {
* result of running the process, i.e., exit code, standard out and
* standard in.
*/
- static Future<ProcessResult> run(String executable,
- List<String> arguments,
- [ProcessOptions options]) {
- return _Process.run(executable, arguments, options);
- }
+ external static Future<ProcessResult> run(String executable,
+ List<String> arguments,
+ [ProcessOptions options]);
/**
* Returns an input stream of the process stdout.
@@ -60,7 +60,7 @@ class Process {
* Throws an [UnsupportedError] if the process is
* non-interactive.
*/
- abstract InputStream get stdout;
+ InputStream get stdout;
/**
* Returns an input stream of the process stderr.
@@ -68,7 +68,7 @@ class Process {
* Throws an [UnsupportedError] if the process is
* non-interactive.
*/
- abstract InputStream get stderr;
+ InputStream get stderr;
/**
* Returns an output stream to the process stdin.
@@ -76,7 +76,7 @@ class Process {
* Throws an [UnsupportedError] if the process is
* non-interactive.
*/
- abstract OutputStream get stdin;
+ OutputStream get stdin;
/**
* Sets an exit handler which gets invoked when the process
@@ -85,7 +85,7 @@ class Process {
* Throws an [UnsupportedError] if the process is
* non-interactive.
*/
- abstract void set onExit(void callback(int exitCode));
+ void set onExit(void callback(int exitCode));
/**
* On Windows, [kill] kills the process, ignoring the [signal]
@@ -100,7 +100,7 @@ class Process {
* a [:false:] return value from kill means that the process is
* already dead.
*/
- abstract bool kill([ProcessSignal signal = ProcessSignal.SIGTERM]);
+ bool kill([ProcessSignal signal = ProcessSignal.SIGTERM]);
}

Powered by Google App Engine
This is Rietveld 408576698