| Index: mojo/dart/packages/mojo/lib/src/message_pipe.dart
|
| diff --git a/mojo/dart/packages/mojo/lib/src/message_pipe.dart b/mojo/dart/packages/mojo/lib/src/message_pipe.dart
|
| index 9317be4910a6c04c9ceeca3739c40c0808675dee..3472f5dd8a481c818c5465a4905767d7fb97d0c4 100644
|
| --- a/mojo/dart/packages/mojo/lib/src/message_pipe.dart
|
| +++ b/mojo/dart/packages/mojo/lib/src/message_pipe.dart
|
| @@ -5,17 +5,18 @@
|
| part of core;
|
|
|
| class MojoMessagePipeReadResult {
|
| - final MojoResult status;
|
| + final int status;
|
| final int bytesRead;
|
| final int handlesRead;
|
|
|
| MojoMessagePipeReadResult(this.status, this.bytesRead, this.handlesRead);
|
| MojoMessagePipeReadResult.fromList(List<int> resultList)
|
| - : this(new MojoResult(resultList[0]), resultList[1], resultList[2]);
|
| + : this(resultList[0], resultList[1], resultList[2]);
|
|
|
| String toString() {
|
| return "MojoMessagePipeReadResult("
|
| - "status: $status, bytesRead: $bytesRead, handlesRead: $handlesRead)";
|
| + "status: ${MojoResult.string(status)}, bytesRead: $bytesRead, "
|
| + "handlesRead: $handlesRead)";
|
| }
|
| }
|
|
|
| @@ -24,7 +25,7 @@ class MojoMessagePipeQueryAndReadState {
|
|
|
| List<MojoHandle> _handles;
|
|
|
| - MojoResult get status => new MojoResult(_result[0]);
|
| + int get status => _result[0];
|
| ByteData get data => _result[1];
|
| List<MojoHandle> get handles => _handles;
|
| int get dataLength => _result[3];
|
| @@ -47,7 +48,7 @@ class MojoMessagePipeQueryAndReadState {
|
|
|
| String toString() {
|
| return "MojoMessagePipeQueryAndReadState("
|
| - "status: $status, dataLength: $dataLength, "
|
| + "status: ${MojoResult.string(status)}, dataLength: $dataLength, "
|
| "handlesLength: $handlesLength)";
|
| }
|
| }
|
| @@ -60,14 +61,16 @@ class MojoMessagePipeEndpoint {
|
| static final _queryAndReadState = new MojoMessagePipeQueryAndReadState();
|
|
|
| MojoHandle handle;
|
| - MojoResult status;
|
| + int status;
|
|
|
| MojoMessagePipeEndpoint(this.handle);
|
|
|
| - MojoResult write(ByteData data,
|
| + bool get ok => status == MojoResult.kOk;
|
| +
|
| + int write(ByteData data,
|
| [int numBytes = -1, List<MojoHandle> handles = null, int flags = 0]) {
|
| if (handle == null) {
|
| - status = MojoResult.INVALID_ARGUMENT;
|
| + status = MojoResult.kInvalidArgument;
|
| return status;
|
| }
|
|
|
| @@ -76,7 +79,7 @@ class MojoMessagePipeEndpoint {
|
| // If numBytes has the default value, use the full length of the data.
|
| int dataNumBytes = (numBytes == -1) ? dataLengthInBytes : numBytes;
|
| if (dataNumBytes > dataLengthInBytes) {
|
| - status = MojoResult.INVALID_ARGUMENT;
|
| + status = MojoResult.kInvalidArgument;
|
| return status;
|
| }
|
|
|
| @@ -85,17 +88,15 @@ class MojoMessagePipeEndpoint {
|
| (handles != null) ? handles.map((h) => h.h).toList() : null;
|
|
|
| // Do the call.
|
| - int result = MojoMessagePipeNatives.MojoWriteMessage(
|
| + status = MojoMessagePipeNatives.MojoWriteMessage(
|
| handle.h, data, dataNumBytes, mojoHandles, flags);
|
| -
|
| - status = new MojoResult(result);
|
| return status;
|
| }
|
|
|
| MojoMessagePipeReadResult read(ByteData data,
|
| [int numBytes = -1, List<MojoHandle> handles = null, int flags = 0]) {
|
| if (handle == null) {
|
| - status = MojoResult.INVALID_ARGUMENT;
|
| + status = MojoResult.kInvalidArgument;
|
| return null;
|
| }
|
|
|
| @@ -106,7 +107,7 @@ class MojoMessagePipeEndpoint {
|
| } else {
|
| dataNumBytes = (numBytes == -1) ? data.lengthInBytes : numBytes;
|
| if (dataNumBytes > data.lengthInBytes) {
|
| - status = MojoResult.INVALID_ARGUMENT;
|
| + status = MojoResult.kInvalidArgument;
|
| return null;
|
| }
|
| }
|
| @@ -124,7 +125,7 @@ class MojoMessagePipeEndpoint {
|
| handle.h, data, dataNumBytes, mojoHandles, flags);
|
|
|
| if (result == null) {
|
| - status = MojoResult.INVALID_ARGUMENT;
|
| + status = MojoResult.kInvalidArgument;
|
| return null;
|
| }
|
|
|
| @@ -152,7 +153,7 @@ class MojoMessagePipeEndpoint {
|
| /// isolate.
|
| MojoMessagePipeQueryAndReadState queryAndRead([int flags = 0]) {
|
| if (handle == null) {
|
| - status = MojoResult.INVALID_ARGUMENT;
|
| + status = MojoResult.kInvalidArgument;
|
| return null;
|
| }
|
|
|
| @@ -166,20 +167,17 @@ class MojoMessagePipeEndpoint {
|
| handle = null;
|
| }
|
|
|
| - String toString() =>
|
| - "MojoMessagePipeEndpoint(handle: $handle, status: $status)";
|
| + String toString() => "MojoMessagePipeEndpoint(handle: $handle, "
|
| + "status: ${MojoResult.string(status)})";
|
| }
|
|
|
| class MojoMessagePipe {
|
| static const int FLAG_NONE = 0;
|
|
|
| List<MojoMessagePipeEndpoint> endpoints;
|
| - MojoResult status;
|
| + int status;
|
|
|
| - MojoMessagePipe._() {
|
| - endpoints = null;
|
| - status = MojoResult.OK;
|
| - }
|
| + MojoMessagePipe._() : status = MojoResult.kOk;
|
|
|
| factory MojoMessagePipe([int flags = FLAG_NONE]) {
|
| List result = MojoMessagePipeNatives.MojoCreateMessagePipe(flags);
|
| @@ -194,7 +192,7 @@ class MojoMessagePipe {
|
| pipe.endpoints = new List(2);
|
| pipe.endpoints[0] = new MojoMessagePipeEndpoint(end1);
|
| pipe.endpoints[1] = new MojoMessagePipeEndpoint(end2);
|
| - pipe.status = new MojoResult(result[0]);
|
| + pipe.status = result[0];
|
| return pipe;
|
| }
|
| }
|
|
|