Index: third_party/mojo/src/mojo/public/dart/lib/src/message_pipe.dart |
diff --git a/third_party/mojo/src/mojo/public/dart/lib/src/message_pipe.dart b/third_party/mojo/src/mojo/public/dart/lib/src/message_pipe.dart |
deleted file mode 100644 |
index 29ae078b926b8a68252eb8a5342d0c8a99725ccc..0000000000000000000000000000000000000000 |
--- a/third_party/mojo/src/mojo/public/dart/lib/src/message_pipe.dart |
+++ /dev/null |
@@ -1,148 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-part of core; |
- |
-class MojoMessagePipeReadResult { |
- final MojoResult 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]); |
- |
- String toString() { |
- return "MojoMessagePipeReadResult(" |
- "status: $status, bytesRead: $bytesRead, handlesRead: $handlesRead)"; |
- } |
-} |
- |
-class MojoMessagePipeEndpoint { |
- static const int WRITE_FLAG_NONE = 0; |
- static const int READ_FLAG_NONE = 0; |
- static const int READ_FLAG_MAY_DISCARD = 1 << 0; |
- |
- MojoHandle handle; |
- MojoResult status; |
- |
- MojoMessagePipeEndpoint(this.handle); |
- |
- MojoResult write(ByteData data, |
- [int numBytes = -1, List<MojoHandle> handles = null, int flags = 0]) { |
- if (handle == null) { |
- status = MojoResult.INVALID_ARGUMENT; |
- return status; |
- } |
- |
- int dataLengthInBytes = (data == null) ? 0 : data.lengthInBytes; |
- |
- // 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; |
- return status; |
- } |
- |
- // handles may be null, otherwise convert to ints. |
- List<int> mojoHandles = |
- (handles != null) ? handles.map((h) => h.h).toList() : null; |
- |
- // Do the call. |
- int result = 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; |
- return null; |
- } |
- |
- // If numBytes has the default value, use the full length of the data. |
- int dataNumBytes; |
- if (data == null) { |
- dataNumBytes = 0; |
- } else { |
- dataNumBytes = (numBytes == -1) ? data.lengthInBytes : numBytes; |
- if (dataNumBytes > data.lengthInBytes) { |
- status = MojoResult.INVALID_ARGUMENT; |
- return null; |
- } |
- } |
- |
- // handles may be null, otherwise make an int list for the handles. |
- List<int> mojoHandles; |
- if (handles == null) { |
- mojoHandles = null; |
- } else { |
- mojoHandles = new List<int>(handles.length); |
- } |
- |
- // Do the call. |
- List result = MojoMessagePipeNatives.MojoReadMessage( |
- handle.h, data, dataNumBytes, mojoHandles, flags); |
- |
- if (result == null) { |
- status = MojoResult.INVALID_ARGUMENT; |
- return null; |
- } |
- |
- assert((result is List) && (result.length == 3)); |
- var readResult = new MojoMessagePipeReadResult.fromList(result); |
- |
- // Copy out the handles that were read. |
- if (handles != null) { |
- for (var i = 0; i < readResult.handlesRead; i++) { |
- handles[i] = new MojoHandle(mojoHandles[i]); |
- } |
- } |
- |
- status = readResult.status; |
- return readResult; |
- } |
- |
- MojoMessagePipeReadResult query() => read(null); |
- |
- void close() { |
- handle.close(); |
- handle = null; |
- } |
- |
- String toString() => |
- "MojoMessagePipeEndpoint(handle: $handle, status: $status)"; |
-} |
- |
-class MojoMessagePipe { |
- static const int FLAG_NONE = 0; |
- |
- List<MojoMessagePipeEndpoint> endpoints; |
- MojoResult status; |
- |
- MojoMessagePipe._() { |
- endpoints = null; |
- status = MojoResult.OK; |
- } |
- |
- factory MojoMessagePipe([int flags = FLAG_NONE]) { |
- List result = MojoMessagePipeNatives.MojoCreateMessagePipe(flags); |
- if (result == null) { |
- return null; |
- } |
- assert((result is List) && (result.length == 3)); |
- |
- MojoHandle end1 = new MojoHandle(result[1]); |
- MojoHandle end2 = new MojoHandle(result[2]); |
- MojoMessagePipe pipe = new MojoMessagePipe._(); |
- pipe.endpoints = new List(2); |
- pipe.endpoints[0] = new MojoMessagePipeEndpoint(end1); |
- pipe.endpoints[1] = new MojoMessagePipeEndpoint(end2); |
- pipe.status = new MojoResult(result[0]); |
- return pipe; |
- } |
-} |