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 patch class _StdIOUtils { | 5 @patch class _StdIOUtils { |
6 static Stdin _getStdioInputStream() { | 6 static Stdin _getStdioInputStream() { |
7 switch (_getStdioHandleType(0)) { | 7 switch (_getStdioHandleType(0)) { |
8 case _STDIO_HANDLE_TYPE_TERMINAL: | 8 case _STDIO_HANDLE_TYPE_TERMINAL: |
9 case _STDIO_HANDLE_TYPE_PIPE: | 9 case _STDIO_HANDLE_TYPE_PIPE: |
10 case _STDIO_HANDLE_TYPE_SOCKET: | 10 case _STDIO_HANDLE_TYPE_SOCKET: |
11 return new Stdin._(new _Socket._readPipe(0)); | 11 return new Stdin._(new _Socket._readPipe(0)); |
12 case _STDIO_HANDLE_TYPE_FILE: | 12 case _STDIO_HANDLE_TYPE_FILE: |
13 return new Stdin._(new _FileStream.forStdin()); | 13 return new Stdin._(new _FileStream.forStdin()); |
14 default: | 14 default: |
15 throw new FileSystemException("Unsupported stdin type"); | 15 throw new FileSystemException("Unsupported stdin type"); |
(...skipping 23 matching lines...) Expand all Loading... |
39 if (result is OSError) { | 39 if (result is OSError) { |
40 throw new FileSystemException( | 40 throw new FileSystemException( |
41 "Error retrieving socket type", "", result); | 41 "Error retrieving socket type", "", result); |
42 } | 42 } |
43 return result; | 43 return result; |
44 } | 44 } |
45 | 45 |
46 static _getStdioHandleType(int fd) native "File_GetStdioHandleType"; | 46 static _getStdioHandleType(int fd) native "File_GetStdioHandleType"; |
47 } | 47 } |
48 | 48 |
49 patch class Stdin { | 49 @patch class Stdin { |
50 /* patch */ int readByteSync() native "Stdin_ReadByte"; | 50 /* @patch */ int readByteSync() native "Stdin_ReadByte"; |
51 | 51 |
52 /* patch */ bool get echoMode => _echoMode; | 52 /* @patch */ bool get echoMode => _echoMode; |
53 /* patch */ void set echoMode(bool enabled) { _echoMode = enabled; } | 53 /* @patch */ void set echoMode(bool enabled) { _echoMode = enabled; } |
54 | 54 |
55 /* patch */ bool get lineMode => _lineMode; | 55 /* @patch */ bool get lineMode => _lineMode; |
56 /* patch */ void set lineMode(bool enabled) { _lineMode = enabled; } | 56 /* @patch */ void set lineMode(bool enabled) { _lineMode = enabled; } |
57 | 57 |
58 static bool get _echoMode native "Stdin_GetEchoMode"; | 58 static bool get _echoMode native "Stdin_GetEchoMode"; |
59 static void set _echoMode(bool enabled) native "Stdin_SetEchoMode"; | 59 static void set _echoMode(bool enabled) native "Stdin_SetEchoMode"; |
60 static bool get _lineMode native "Stdin_GetLineMode"; | 60 static bool get _lineMode native "Stdin_GetLineMode"; |
61 static void set _lineMode(bool enabled) native "Stdin_SetLineMode"; | 61 static void set _lineMode(bool enabled) native "Stdin_SetLineMode"; |
62 } | 62 } |
63 | 63 |
64 patch class Stdout { | 64 @patch class Stdout { |
65 /* patch */ bool _hasTerminal(int fd) { | 65 /* @patch */ bool _hasTerminal(int fd) { |
66 try { | 66 try { |
67 _terminalSize(fd); | 67 _terminalSize(fd); |
68 return true; | 68 return true; |
69 } catch (_) { | 69 } catch (_) { |
70 return false; | 70 return false; |
71 } | 71 } |
72 } | 72 } |
73 | 73 |
74 /* patch */ int _terminalColumns(int fd) => _terminalSize(fd)[0]; | 74 /* @patch */ int _terminalColumns(int fd) => _terminalSize(fd)[0]; |
75 /* patch */ int _terminalLines(int fd) => _terminalSize(fd)[1]; | 75 /* @patch */ int _terminalLines(int fd) => _terminalSize(fd)[1]; |
76 | 76 |
77 static List _terminalSize(int fd) { | 77 static List _terminalSize(int fd) { |
78 var size = _getTerminalSize(fd); | 78 var size = _getTerminalSize(fd); |
79 if (size is! List) { | 79 if (size is! List) { |
80 throw new StdoutException("Could not get terminal size", size); | 80 throw new StdoutException("Could not get terminal size", size); |
81 } | 81 } |
82 return size; | 82 return size; |
83 } | 83 } |
84 | 84 |
85 static _getTerminalSize(int fd) native "Stdout_GetTerminalSize"; | 85 static _getTerminalSize(int fd) native "Stdout_GetTerminalSize"; |
86 } | 86 } |
87 | 87 |
88 | 88 |
89 _getStdioHandle(_NativeSocket socket, int num) native "Socket_GetStdioHandle"; | 89 _getStdioHandle(_NativeSocket socket, int num) native "Socket_GetStdioHandle"; |
90 _getSocketType(_NativeSocket nativeSocket) native "Socket_GetType"; | 90 _getSocketType(_NativeSocket nativeSocket) native "Socket_GetType"; |
OLD | NEW |