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

Side by Side Diff: mojo/public/bindings/js/test/sample_service.js

Issue 69843003: Implement Mojo message codec in JavaScript (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Seems to work! Created 7 years, 1 month 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 | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // "Generated" code for sample_service.mojom
6 define("sample_service", ["codec"], function(codec) {
7
8 // Bar ----------------------------------------------------------------------
9
10 function Bar() {
11 this.alpha = 0;
12 this.beta = 0;
13 this.gamma = 0;
14 }
15
16 Bar.encodedSize = codec.kStructHeaderSize + 8;
17
18 Bar.decode = function(decoder) {
19 var val = new Bar();
20 var numberOfBytes = decoder.read32();
21 var numberOfFields = decoder.read32();
22 // TODO(abarth): We need to support optional fields.
23 val.alpha = decoder.read8();
24 val.beta = decoder.read8();
25 val.gamma = decoder.read8();
26 decoder.skip(5);
27 return val;
28 };
29
30 Bar.encode = function(encoder, val) {
31 encoder.write32(Bar.encodedSize);
32 encoder.write32(3);
33 encoder.write8(val.alpha);
34 encoder.write8(val.beta);
35 encoder.write8(val.gamma);
36 encoder.skip(5);
37 };
38
39 // Foo ----------------------------------------------------------------------
40
41 function Foo() {
42 this.x = 0;
43 this.y = 0;
44 this.a = 0;
45 this.b = 0;
46 this.c = 0;
47 this.bar = null;
48 this.data = [];
49 this.extra_bars = [];
50 this.name = "";
51 this.files = [];
52 }
53
54 Foo.encodedSize = codec.kStructHeaderSize + 64;
55
56 Foo.decode = function(decoder) {
57 var val = new Foo();
58 var numberOfBytes = decoder.read32();
59 var numberofFields = decoder.read32();
60 // TODO(abarth): We need to support optional fields.
61 val.x = decoder.read32();
62 val.y = decoder.read32();
63 var packed = decoder.read8();
64 val.a = (packed >> 0) & 1;
65 val.b = (packed >> 1) & 1;
66 val.c = (packed >> 2) & 1;
67 decoder.skip(7);
68 val.bar = decoder.decodeStructPointer(Bar);
69 val.data = decoder.decodeArrayPointer(codec.Uint8);
70 val.extra_bars = decoder.decodeArrayPointer(new codec.PointerTo(Bar));
71 val.name = decoder.decodeStringPointer();
72 val.files = decoder.decodeArrayPointer(codec.Handle);
73 return val;
74 }
75
76 Foo.encode = function(encoder, val) {
77 encoder.write32(Foo.encodedSize);
78 encoder.write32(10);
79 encoder.write32(val.x);
80 encoder.write32(val.y);
81 var packed = (val.a & 1) << 0 |
82 (val.b & 1) << 1 |
83 (val.c & 1) << 2;
84 encoder.write8(packed);
85 encoder.skip(7);
86 encoder.encodeStructPointer(Bar, val.bar);
87 encoder.encodeArrayPointer(codec.Uint8, val.data);
88 encoder.encodeArrayPointer(new codec.PointerTo(Bar), val.extra_bars);
89 encoder.encodeStringPointer(val.name);
90 encoder.encodeArrayPointer(codec.Handle, val.files);
91 };
92
93 var exports = {};
94 exports.Bar = Bar;
95 exports.Foo = Foo;
96 return exports;
97 });
OLDNEW
« mojo/public/bindings/js/test/run_js_tests.cc ('K') | « mojo/public/bindings/js/test/run_js_tests.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698