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

Unified Diff: mojo/public/dart/src/message_pipe.dart

Issue 814543006: Move //mojo/{public, edk} underneath //third_party (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 11 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
« no previous file with comments | « mojo/public/dart/src/message.dart ('k') | mojo/public/dart/src/struct.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/public/dart/src/message_pipe.dart
diff --git a/mojo/public/dart/src/message_pipe.dart b/mojo/public/dart/src/message_pipe.dart
deleted file mode 100644
index 325be42f9371323ea24d03510d05c29dc2ee0340..0000000000000000000000000000000000000000
--- a/mojo/public/dart/src/message_pipe.dart
+++ /dev/null
@@ -1,155 +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 _MojoMessagePipeNatives {
- static List MojoCreateMessagePipe(int flags)
- native "MojoMessagePipe_Create";
-
- static int MojoWriteMessage(
- int handle, ByteData data, int numBytes, List<int> handles, int flags)
- native "MojoMessagePipe_Write";
-
- static List MojoReadMessage(
- int handle, ByteData data, int numBytes, List<int> handles, int flags)
- native "MojoMessagePipe_Read";
-}
-
-
-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]);
-}
-
-
-class MojoMessagePipeEndpoint {
- static const int WRITE_FLAG_NONE = 0;
- static const int READ_FLAG_NONE = 0;
- static const int READ_FLAG_MAY_DISCARD = 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;
- }
-
- // If numBytes has the default value, use the full length of the data.
- int dataNumBytes = (numBytes == -1) ? data.lengthInBytes : numBytes;
- if (dataNumBytes > data.lengthInBytes) {
- 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 status;
- }
- }
-
- // 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);
-}
-
-
-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;
- }
-}
« no previous file with comments | « mojo/public/dart/src/message.dart ('k') | mojo/public/dart/src/struct.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698