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

Side by Side Diff: mojo/public/bindings/sample/mojom/sample_service.js

Issue 68323004: Port Mojo's sample_service.cc to JavaScript (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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([
7 "mojo/public/bindings/js/core",
8 "mojo/public/bindings/js/codec",
9 ], function(core, codec) {
10
11 // Bar ----------------------------------------------------------------------
abarth-chromium 2013/11/18 23:30:44 git cl upload didn't detect the move, but this cod
12
13 function Bar() {
14 this.alpha = 0;
15 this.beta = 0;
16 this.gamma = 0;
17 }
18
19 Bar.encodedSize = codec.kStructHeaderSize + 8;
20
21 Bar.decode = function(decoder) {
22 var val = new Bar();
23 var numberOfBytes = decoder.read32();
24 var numberOfFields = decoder.read32();
25 // TODO(abarth): We need to support optional fields.
26 val.alpha = decoder.read8();
27 val.beta = decoder.read8();
28 val.gamma = decoder.read8();
29 decoder.skip(5);
30 return val;
31 };
32
33 Bar.encode = function(encoder, val) {
34 encoder.write32(Bar.encodedSize);
35 encoder.write32(3);
36 encoder.write8(val.alpha);
37 encoder.write8(val.beta);
38 encoder.write8(val.gamma);
39 encoder.skip(5);
40 };
41
42 // Foo ----------------------------------------------------------------------
43
44 function Foo() {
45 this.x = 0;
46 this.y = 0;
47 this.a = 0;
48 this.b = 0;
49 this.c = 0;
50 this.bar = null;
51 this.data = [];
52 this.extra_bars = [];
53 this.name = "";
54 this.files = [];
55 }
56
57 Foo.encodedSize = codec.kStructHeaderSize + 64;
58
59 Foo.decode = function(decoder) {
60 var val = new Foo();
61 var numberOfBytes = decoder.read32();
62 var numberOfFields = decoder.read32();
63 // TODO(abarth): We need to support optional fields.
64 val.x = decoder.read32();
65 val.y = decoder.read32();
66 var packed = decoder.read8();
67 val.a = (packed >> 0) & 1;
68 val.b = (packed >> 1) & 1;
69 val.c = (packed >> 2) & 1;
70 decoder.skip(7);
71 val.bar = decoder.decodeStructPointer(Bar);
72 val.data = decoder.decodeArrayPointer(codec.Uint8);
73 val.extra_bars = decoder.decodeArrayPointer(new codec.PointerTo(Bar));
74 val.name = decoder.decodeStringPointer();
75 val.files = decoder.decodeArrayPointer(codec.Handle);
76 return val;
77 };
78
79 Foo.encode = function(encoder, val) {
80 encoder.write32(Foo.encodedSize);
81 encoder.write32(10);
82 encoder.write32(val.x);
83 encoder.write32(val.y);
84 var packed = (val.a & 1) << 0 |
85 (val.b & 1) << 1 |
86 (val.c & 1) << 2;
87 encoder.write8(packed);
88 encoder.skip(7);
89 encoder.encodeStructPointer(Bar, val.bar);
90 encoder.encodeArrayPointer(codec.Uint8, val.data);
91 encoder.encodeArrayPointer(new codec.PointerTo(Bar), val.extra_bars);
92 encoder.encodeStringPointer(val.name);
93 encoder.encodeArrayPointer(codec.Handle, val.files);
94 };
95
96 // Service ------------------------------------------------------------------
abarth-chromium 2013/11/18 23:30:44 The new code is from here down.
97
98 var kService_Frobinate_Name = 1;
99
100 function Service_Frobinate_Params() {
101 this.foo = null;
102 this.baz = false;
103 this.port = core.kInvalidHandle;
104 }
105
106 Service_Frobinate_Params.encodedSize = codec.kStructHeaderSize + 16;
107
108 Service_Frobinate_Params.decode = function(decoder) {
109 var val = new Service_Frobinate_Params();
110 var numberOfBytes = decoder.read32();
111 var numberOfFields = decoder.read32();
112 val.foo = decoder.decodeStructPointer(Foo);
113 val.baz = decoder.read8() & 1;
114 decoder.skip(3);
115 val.port = decoder.decodeHandle();
116 return val;
117 };
118
119 Service_Frobinate_Params.encode = function(encoder, val) {
120 encoder.write32(Service_Frobinate_Params.encodedSize);
121 encoder.write32(3);
122 encoder.encodeStructPointer(Foo, val.foo);
123 encoder.write8(val.baz & 1);
124 encoder.skip(3);
125 encoder.encodeHandle(val.port);
126 };
127
128 function ServiceProxy(receiver) {
129 this.receiver_ = receiver;
130 }
131
132 ServiceProxy.prototype.frobinate = function(foo, baz, port) {
133 var params = new Service_Frobinate_Params();
134 params.foo = foo;
135 params.baz = baz;
136 params.port = port;
137
138 var payloadSize = codec.align(Service_Frobinate_Params.encodedSize);
139 var builder = new codec.MessageBuilder(kService_Frobinate_Name,
140 payloadSize);
141 builder.encodeStruct(Service_Frobinate_Params, params);
142 var message = builder.finish();
143 this.receiver_.accept(message);
144 };
145
146 function ServiceStub() {
147 }
148
149 ServiceStub.prototype.accept = function(message) {
150 var reader = new codec.MessageReader(message);
151 switch (reader.messageName) {
152 case kService_Frobinate_Name:
153 var params = reader.decodeStruct(Service_Frobinate_Params);
154 this.frobinate(params.foo, params.baz, params.port);
155 return true;
156 default:
157 return false;
158 }
159 };
160
161 // ServiceClient ------------------------------------------------------------
162
163 var kServiceClient_DidFrobinate_Name = 0;
164
165 function ServiceClient_DidFrobinate_Params() {
166 this.result = 0;
167 }
168
169 ServiceClient_DidFrobinate_Params.encodedSize = codec.kStructHeaderSize + 8;
170
171 ServiceClient_DidFrobinate_Params.decode = function(decoder) {
172 var val = new ServiceClient_DidFrobinate_Params();
173 var numberOfBytes = decoder.read32();
174 var numberOfFields = decoder.read32();
175 val.result = decoder.read32();
176 decoder.skip(4);
177 return val;
178 };
179
180 ServiceClient_DidFrobinate_Params.encode = function(encoder, val) {
181 encoder.write32(ServiceClient_DidFrobinate_Params.encodedSize);
182 encoder.write32(1);
183 encoder.write32(val.result);
184 encoder.skip(4);
185 };
186
187 function ServiceClientProxy(receiver) {
188 this.receiver_ = receiver;
189 }
190
191 ServiceClientProxy.prototype.didFrobinate = function(result) {
192 var params = new ServiceClient_DidFrobinate_Params();
193 params.result = result;
194
195 var payloadSize = codec.align(
196 ServiceClient_DidFrobinate_Params.encodedSize);
197 var builder = new codec.MessageBuilder(kServiceClient_DidFrobinate_Name,
198 payloadSize);
199 builder.encodeStruct(ServiceClient_DidFrobinate_Params, params);
200 var message = builder.finish();
201 this.receiver_.accept(message);
202 };
203
204 function ServiceClientStub() {
205 }
206
207 ServiceClientStub.prototype.accept = function(message) {
208 var reader = new codec.MessageReader(message);
209 switch (reader.messageName) {
210 case kServiceClient_DidFrobinate_Name:
211 var params = reader.decodeStruct(kServiceClient_DidFrobinate_Name);
212 this.didFrobinate(params.result);
213 return true;
214 default:
215 return false;
216 }
217 };
218
219 // Exports ------------------------------------------------------------------
220
221 var exports = {};
222 exports.Bar = Bar;
223 exports.Foo = Foo;
224 exports.ServiceProxy = ServiceProxy;
225 exports.ServiceStub = ServiceStub;
226 exports.ServiceClientProxy = ServiceClientProxy;
227 exports.ServiceClientStub = ServiceClientStub;
228 return exports;
229 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698