OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // TODO(zra): Rewrite MojoDecoder and MojoEncoder using Dart idioms, and make | 5 // TODO(zra): Rewrite MojoDecoder and MojoEncoder using Dart idioms, and make |
6 // corresponding changes to the bindings generation script. | 6 // corresponding changes to the bindings generation script. |
7 | 7 |
8 part of bindings; | 8 part of bindings; |
9 | 9 |
10 const int kAlignment = 8; | 10 const int kAlignment = 8; |
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
463 const int kMessageRequestIDOffset = kMessageFlagsOffset + 4; | 463 const int kMessageRequestIDOffset = kMessageFlagsOffset + 4; |
464 const int kMessageExpectsResponse = 1 << 0; | 464 const int kMessageExpectsResponse = 1 << 0; |
465 const int kMessageIsResponse = 1 << 1; | 465 const int kMessageIsResponse = 1 << 1; |
466 | 466 |
467 class Message { | 467 class Message { |
468 ByteData buffer; | 468 ByteData buffer; |
469 List<core.RawMojoHandle> handles; | 469 List<core.RawMojoHandle> handles; |
470 | 470 |
471 Message(this.buffer, this.handles); | 471 Message(this.buffer, this.handles); |
472 | 472 |
473 int getHeaderNumBytes() => buffer.getUint32(kStructHeaderNumBytesOffset); | 473 int get headerNumBytes => |
474 int getHeaderNumFields() => buffer.getUint32(kStructHeaderNumFieldsOffset); | 474 buffer.getUint32(kStructHeaderNumBytesOffset, Endianness.LITTLE_ENDIAN); |
475 int getName() => buffer.getUint32(kMessageNameOffset); | 475 int get headerNumFields => |
476 int getFlags() => buffer.getUint32(kMessageFlagsOffset); | 476 buffer.getUint32(kStructHeaderNumFieldsOffset, Endianness.LITTLE_ENDIAN); |
477 bool isResponse() => (getFlags() & kMessageIsResponse) != 0; | 477 int get name => |
478 bool expectsResponse() => (getFlags() & kMessageExpectsResponse) != 0; | 478 buffer.getUint32(kMessageNameOffset, Endianness.LITTLE_ENDIAN); |
479 | 479 int get flags => |
480 void setRequestID(int id) { | 480 buffer.getUint32(kMessageFlagsOffset, Endianness.LITTLE_ENDIAN); |
481 buffer.setUint64(kMessageRequestIDOffset, id); | 481 int get requestID => |
482 } | 482 buffer.getUint64(kMessageRequestIDOffset, Endianness.LITTLE_ENDIAN); |
| 483 set requestID(int id) => |
| 484 buffer.setUint64(kMessageRequestIDOffset, id, Endianness.LITTLE_ENDIAN); |
| 485 bool get isResponse => (flags & kMessageIsResponse) != 0; |
| 486 bool get expectsResponse => (flags & kMessageExpectsResponse) != 0; |
483 } | 487 } |
484 | 488 |
485 | 489 |
486 class MessageBuilder { | 490 class MessageBuilder { |
487 MojoEncoder encoder; | 491 MojoEncoder encoder; |
488 List<core.RawMojoHandle> handles; | 492 List<core.RawMojoHandle> handles; |
489 | 493 |
490 MessageBuilder._(); | 494 MessageBuilder._(); |
491 | 495 |
492 MessageBuilder(int name, int payloadSize) { | 496 MessageBuilder(int name, int payloadSize) { |
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
760 Map decode(MojoDecoder decoder) => decoder.decodeMapPointer(key, val); | 764 Map decode(MojoDecoder decoder) => decoder.decodeMapPointer(key, val); |
761 void encode(MojoEncoder encoder, Map map) { | 765 void encode(MojoEncoder encoder, Map map) { |
762 encoder.encodeMapPointer(key, val, map); | 766 encoder.encodeMapPointer(key, val, map); |
763 } | 767 } |
764 } | 768 } |
765 | 769 |
766 | 770 |
767 class NullableMapOf extends MapOf { | 771 class NullableMapOf extends MapOf { |
768 NullableMapOf(Object key, Object val) : super(key, val); | 772 NullableMapOf(Object key, Object val) : super(key, val); |
769 } | 773 } |
OLD | NEW |