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

Side by Side Diff: mojo/public/dart/src/codec.dart

Issue 800523004: Dart: Simplifies the handle watcher. Various cleanups and bugfixes. (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: 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 unified diff | Download patch
OLDNEW
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698