diff options
Diffstat (limited to 'mojo/public/dart/src/buffer.dart')
-rw-r--r-- | mojo/public/dart/src/buffer.dart | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/mojo/public/dart/src/buffer.dart b/mojo/public/dart/src/buffer.dart deleted file mode 100644 index 4467315..0000000 --- a/mojo/public/dart/src/buffer.dart +++ /dev/null @@ -1,104 +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 _MojoSharedBufferNatives { - static List Create(int numBytes, int flags) - native "MojoSharedBuffer_Create"; - - static List Duplicate(int bufferHandle, int flags) - native "MojoSharedBuffer_Duplicate"; - - static List Map(MojoSharedBuffer buffer, - int bufferHandle, - int offset, - int numBytes, - int flags) - native "MojoSharedBuffer_Map"; - - static int Unmap(ByteData buffer) - native "MojoSharedBuffer_Unmap"; -} - - -class MojoSharedBuffer { - static const int CREATE_FLAG_NONE = 0; - static const int DUPLICATE_FLAG_NONE = 0; - static const int MAP_FLAG_NONE = 0; - - MojoHandle handle; - MojoResult status; - ByteData mapping; - - MojoSharedBuffer( - this.handle, [this.status = MojoResult.OK, this.mapping = null]); - - factory MojoSharedBuffer.create(int numBytes, [int flags = 0]) { - List result = _MojoSharedBufferNatives.Create(numBytes, flags); - if (result == null) { - return null; - } - assert((result is List) && (result.length == 2)); - var r = new MojoResult(result[0]); - if (!r.isOk) { - return null; - } - - MojoSharedBuffer buf = - new MojoSharedBuffer(new MojoHandle(result[1]), r, null); - return buf; - } - - factory MojoSharedBuffer.duplicate(MojoSharedBuffer msb, [int flags = 0]) { - List result = _MojoSharedBufferNatives.Duplicate(msb.handle.h, flags); - if (result == null) { - return null; - } - assert((result is List) && (result.length == 2)); - var r = new MojoResult(result[0]); - if(!r.isOk) { - return null; - } - - MojoSharedBuffer dupe = - new MojoSharedBuffer(new MojoHandle(result[1]), r, null); - return dupe; - } - - MojoResult close() { - if (handle == null) { - status = MojoResult.INVALID_ARGUMENT; - return status; - } - MojoResult r = handle.close(); - status = r; - mapping = null; - return status; - } - - MojoResult map(int offset, int numBytes, [int flags = 0]) { - if (handle == null) { - status = MojoResult.INVALID_ARGUMENT; - return status; - } - List result = _MojoSharedBufferNatives.Map( - this, handle.h, offset, numBytes, flags); - if (result == null) { - status = MojoResult.INVALID_ARGUMENT; - return status; - } - assert((result is List) && (result.length == 2)); - status = new MojoResult(result[0]); - mapping = result[1]; - return status; - } - - MojoResult unmap() { - int r = _MojoSharedBufferNatives.Unmap(mapping); - status = new MojoResult(r); - mapping = null; - return status; - } -} |