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

Side by Side Diff: mojo/public/cpp/bindings/gen/sample_service.mojom.cc

Issue 293393009: For reference only. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: with more idiomatic C++ bindings Created 6 years, 6 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 | 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 #if defined(__clang__)
6 #pragma clang diagnostic push
7 #pragma clang diagnostic ignored "-Wunused-private-field"
8 #endif
9
10 #include "mojo/public/interfaces/bindings/tests/sample_service.mojom.h"
11
12 #include "mojo/public/cpp/bindings/lib/array_serialization.h"
13 #include "mojo/public/cpp/bindings/lib/bindings_serialization.h"
14 #include "mojo/public/cpp/bindings/lib/string_serialization.h"
15 #include "mojo/public/cpp/bindings/lib/message_builder.h"
16 namespace sample {
17
18 const uint8_t kThree = 3;
19
20 namespace internal {
21 namespace {
22
23 #pragma pack(push, 1)
24 const uint32_t kService_Frobinate_Name = 0;
25
26 class Service_Frobinate_Params_Data {
27 public:
28 static Service_Frobinate_Params_Data* New(mojo::internal::Buffer* buf) {
29 return new (buf->Allocate(sizeof(Service_Frobinate_Params_Data)))
30 Service_Frobinate_Params_Data();
31 }
32
33 mojo::internal::StructHeader header_;
34
35 mojo::internal::StructPointer<internal::Foo_Data> foo;
36 int32_t baz;
37 mojo::MessagePipeHandle port;
38
39 void EncodePointersAndHandles(std::vector<mojo::Handle>* handles) {
40 mojo::internal::Encode(&foo, handles);
41 mojo::internal::EncodeHandle(&port, handles);
42 }
43
44 bool DecodePointersAndHandles(mojo::Message* message) {
45 if (!mojo::internal::Decode(&foo, message))
46 return false;
47 if (!mojo::internal::DecodeHandle(&port,
48 message->mutable_handles()))
49 return false;
50 return true;
51 }
52
53 private:
54 Service_Frobinate_Params_Data() {
55 header_.num_bytes = sizeof(*this);
56 header_.num_fields = 3;
57 }
58 };
59 MOJO_COMPILE_ASSERT(sizeof(Service_Frobinate_Params_Data) == 24,
60 bad_sizeof_Service_Frobinate_Params_Data);
61
62 const uint32_t kServiceClient_DidFrobinate_Name = 0;
63
64 class ServiceClient_DidFrobinate_Params_Data {
65 public:
66 static ServiceClient_DidFrobinate_Params_Data* New(mojo::internal::Buffer* buf ) {
67 return new (buf->Allocate(sizeof(ServiceClient_DidFrobinate_Params_Data)))
68 ServiceClient_DidFrobinate_Params_Data();
69 }
70
71 mojo::internal::StructHeader header_;
72
73 int32_t result;
74 uint8_t padfinal_[4];
75
76 void EncodePointersAndHandles(std::vector<mojo::Handle>* handles) {
77
78 }
79
80 bool DecodePointersAndHandles(mojo::Message* message) {
81
82 return true;
83 }
84
85 private:
86 ServiceClient_DidFrobinate_Params_Data() {
87 header_.num_bytes = sizeof(*this);
88 header_.num_fields = 1;
89 }
90 };
91 MOJO_COMPILE_ASSERT(sizeof(ServiceClient_DidFrobinate_Params_Data) == 16,
92 bad_sizeof_ServiceClient_DidFrobinate_Params_Data);
93
94 const uint32_t kPort_PostMessage_Name = 0;
95
96 class Port_PostMessage_Params_Data {
97 public:
98 static Port_PostMessage_Params_Data* New(mojo::internal::Buffer* buf) {
99 return new (buf->Allocate(sizeof(Port_PostMessage_Params_Data)))
100 Port_PostMessage_Params_Data();
101 }
102
103 mojo::internal::StructHeader header_;
104
105 mojo::internal::StringPointer message_text;
106 mojo::MessagePipeHandle port;
107 uint8_t padfinal_[4];
108
109 void EncodePointersAndHandles(std::vector<mojo::Handle>* handles) {
110 mojo::internal::Encode(&message_text, handles);
111 mojo::internal::EncodeHandle(&port, handles);
112 }
113
114 bool DecodePointersAndHandles(mojo::Message* message) {
115 if (!mojo::internal::Decode(&message_text, message))
116 return false;
117 if (!mojo::internal::DecodeHandle(&port,
118 message->mutable_handles()))
119 return false;
120 return true;
121 }
122
123 private:
124 Port_PostMessage_Params_Data() {
125 header_.num_bytes = sizeof(*this);
126 header_.num_fields = 2;
127 }
128 };
129 MOJO_COMPILE_ASSERT(sizeof(Port_PostMessage_Params_Data) == 24,
130 bad_sizeof_Port_PostMessage_Params_Data);
131
132
133 #pragma pack(pop)
134
135 } // namespace
136
137
138 // static
139 Bar_Data* Bar_Data::New(mojo::internal::Buffer* buf) {
140 return new (buf->Allocate(sizeof(Bar_Data))) Bar_Data();
141 }
142
143 Bar_Data::Bar_Data() {
144 header_.num_bytes = sizeof(*this);
145 header_.num_fields = 4;
146 }
147
148 void Bar_Data::EncodePointersAndHandles(
149 std::vector<mojo::Handle>* handles) {
150
151 }
152
153 bool Bar_Data::DecodePointersAndHandles(mojo::Message* message) {
154
155 return true;
156 }
157
158
159 // static
160 Foo_Data* Foo_Data::New(mojo::internal::Buffer* buf) {
161 return new (buf->Allocate(sizeof(Foo_Data))) Foo_Data();
162 }
163
164 Foo_Data::Foo_Data() {
165 header_.num_bytes = sizeof(*this);
166 header_.num_fields = 14;
167 }
168
169 void Foo_Data::EncodePointersAndHandles(
170 std::vector<mojo::Handle>* handles) {
171 mojo::internal::Encode(&bar, handles);
172 mojo::internal::Encode(&data, handles);
173 mojo::internal::Encode(&extra_bars, handles);
174 mojo::internal::Encode(&name, handles);
175 mojo::internal::Encode(&input_streams, handles);
176 mojo::internal::Encode(&output_streams, handles);
177 mojo::internal::Encode(&array_of_array_of_bools, handles);
178 mojo::internal::Encode(&multi_array_of_strings, handles);
179 mojo::internal::EncodeHandle(&source, handles);
180 }
181
182 bool Foo_Data::DecodePointersAndHandles(mojo::Message* message) {
183 if (!mojo::internal::Decode(&bar, message))
184 return false;
185 if (!mojo::internal::Decode(&data, message))
186 return false;
187 if (!mojo::internal::Decode(&extra_bars, message))
188 return false;
189 if (!mojo::internal::Decode(&name, message))
190 return false;
191 if (!mojo::internal::Decode(&input_streams, message))
192 return false;
193 if (!mojo::internal::Decode(&output_streams, message))
194 return false;
195 if (!mojo::internal::Decode(&array_of_array_of_bools, message))
196 return false;
197 if (!mojo::internal::Decode(&multi_array_of_strings, message))
198 return false;
199 if (!mojo::internal::DecodeHandle(&source,
200 message->mutable_handles()))
201 return false;
202 return true;
203 }
204
205
206 // static
207 DefaultsTestInner_Data* DefaultsTestInner_Data::New(mojo::internal::Buffer* buf) {
208 return new (buf->Allocate(sizeof(DefaultsTestInner_Data))) DefaultsTestInner_D ata();
209 }
210
211 DefaultsTestInner_Data::DefaultsTestInner_Data() {
212 header_.num_bytes = sizeof(*this);
213 header_.num_fields = 1;
214 }
215
216 void DefaultsTestInner_Data::EncodePointersAndHandles(
217 std::vector<mojo::Handle>* handles) {
218
219 }
220
221 bool DefaultsTestInner_Data::DecodePointersAndHandles(mojo::Message* message) {
222
223 return true;
224 }
225
226
227 // static
228 DefaultsTest_Data* DefaultsTest_Data::New(mojo::internal::Buffer* buf) {
229 return new (buf->Allocate(sizeof(DefaultsTest_Data))) DefaultsTest_Data();
230 }
231
232 DefaultsTest_Data::DefaultsTest_Data() {
233 header_.num_bytes = sizeof(*this);
234 header_.num_fields = 21;
235 }
236
237 void DefaultsTest_Data::EncodePointersAndHandles(
238 std::vector<mojo::Handle>* handles) {
239 mojo::internal::Encode(&a18, handles);
240 mojo::internal::Encode(&a19, handles);
241 mojo::internal::Encode(&a20, handles);
242 }
243
244 bool DefaultsTest_Data::DecodePointersAndHandles(mojo::Message* message) {
245 if (!mojo::internal::Decode(&a18, message))
246 return false;
247 if (!mojo::internal::Decode(&a19, message))
248 return false;
249 if (!mojo::internal::Decode(&a20, message))
250 return false;
251 return true;
252 }
253
254
255 // static
256 StructWithHoleV1_Data* StructWithHoleV1_Data::New(mojo::internal::Buffer* buf) {
257 return new (buf->Allocate(sizeof(StructWithHoleV1_Data))) StructWithHoleV1_Dat a();
258 }
259
260 StructWithHoleV1_Data::StructWithHoleV1_Data() {
261 header_.num_bytes = sizeof(*this);
262 header_.num_fields = 2;
263 }
264
265 void StructWithHoleV1_Data::EncodePointersAndHandles(
266 std::vector<mojo::Handle>* handles) {
267
268 }
269
270 bool StructWithHoleV1_Data::DecodePointersAndHandles(mojo::Message* message) {
271
272 return true;
273 }
274
275
276 // static
277 StructWithHoleV2_Data* StructWithHoleV2_Data::New(mojo::internal::Buffer* buf) {
278 return new (buf->Allocate(sizeof(StructWithHoleV2_Data))) StructWithHoleV2_Dat a();
279 }
280
281 StructWithHoleV2_Data::StructWithHoleV2_Data() {
282 header_.num_bytes = sizeof(*this);
283 header_.num_fields = 3;
284 }
285
286 void StructWithHoleV2_Data::EncodePointersAndHandles(
287 std::vector<mojo::Handle>* handles) {
288
289 }
290
291 bool StructWithHoleV2_Data::DecodePointersAndHandles(mojo::Message* message) {
292
293 return true;
294 }
295
296
297 } // namespace internal
298
299
300 const char* Foo::kFooby = "Fooby";
301
302
303
304 // static
305 BarPtr Bar::New() {
306 BarPtr rv;
307 mojo::internal::StructHelper<Bar>::Initialize(&rv);
308 return rv.Pass();
309 }
310
311 Bar::Bar()
312 : alpha((0x100-1)),
313 beta(),
314 gamma(),
315 type(Bar::TYPE_VERTICAL) {
316 }
317
318 Bar::~Bar() {
319 }
320 // static
321 FooPtr Foo::New() {
322 FooPtr rv;
323 mojo::internal::StructHelper<Foo>::Initialize(&rv);
324 return rv.Pass();
325 }
326
327 Foo::Foo()
328 : name(Foo::kFooby),
329 x(),
330 y(),
331 a(true),
332 b(),
333 c(),
334 bar(),
335 extra_bars(),
336 data(),
337 source(),
338 input_streams(),
339 output_streams(),
340 array_of_array_of_bools(),
341 multi_array_of_strings() {
342 }
343
344 Foo::~Foo() {
345 }
346 // static
347 DefaultsTestInnerPtr DefaultsTestInner::New() {
348 DefaultsTestInnerPtr rv;
349 mojo::internal::StructHelper<DefaultsTestInner>::Initialize(&rv);
350 return rv.Pass();
351 }
352
353 DefaultsTestInner::DefaultsTestInner()
354 : x(123) {
355 }
356
357 DefaultsTestInner::~DefaultsTestInner() {
358 }
359 // static
360 DefaultsTestPtr DefaultsTest::New() {
361 DefaultsTestPtr rv;
362 mojo::internal::StructHelper<DefaultsTest>::Initialize(&rv);
363 return rv.Pass();
364 }
365
366 DefaultsTest::DefaultsTest()
367 : a0(-12),
368 a1(12),
369 a2(1234),
370 a3(34567),
371 a4(123456),
372 a5(),
373 a6(111111111111),
374 a7(),
375 a8(0x12345),
376 a9(-0x12345),
377 a10(+1234),
378 a11(true),
379 a12(false),
380 a13(123.25),
381 a14(1234567890.123),
382 a15(1E10),
383 a16(-1.2E+20),
384 a17(+1.23E-20),
385 a18(),
386 a19(),
387 a20() {
388 }
389
390 DefaultsTest::~DefaultsTest() {
391 }
392 // static
393 StructWithHoleV1Ptr StructWithHoleV1::New() {
394 StructWithHoleV1Ptr rv;
395 mojo::internal::StructHelper<StructWithHoleV1>::Initialize(&rv);
396 return rv.Pass();
397 }
398
399 StructWithHoleV1::StructWithHoleV1()
400 : v1(1),
401 v2(2) {
402 }
403
404 StructWithHoleV1::~StructWithHoleV1() {
405 }
406 // static
407 StructWithHoleV2Ptr StructWithHoleV2::New() {
408 StructWithHoleV2Ptr rv;
409 mojo::internal::StructHelper<StructWithHoleV2>::Initialize(&rv);
410 return rv.Pass();
411 }
412
413 StructWithHoleV2::StructWithHoleV2()
414 : v1(1),
415 v2(2),
416 v3(3) {
417 }
418
419 StructWithHoleV2::~StructWithHoleV2() {
420 }
421
422
423 const uint8_t Service::kFavoriteBaz = 1;
424
425 ServiceProxy::ServiceProxy(mojo::MessageReceiver* receiver)
426 : receiver_(receiver) {
427 }
428 void ServiceProxy::Frobinate(
429 FooPtr in_foo, Service::BazOptions in_baz, PortPtr in_port) {
430 size_t payload_size =
431 mojo::internal::Align(sizeof(internal::Service_Frobinate_Params_Data));
432 if (in_foo)
433 payload_size += GetSerializedSize_(in_foo);
434 mojo::internal::MessageBuilder builder(internal::kService_Frobinate_Name, payl oad_size);
435
436 internal::Service_Frobinate_Params_Data* params =
437 internal::Service_Frobinate_Params_Data::New(builder.buffer());
438
439 if (in_foo)
440 Serialize_(mojo::internal::Forward(in_foo), builder.buffer(), &params->foo.p tr);
441 params->baz = in_baz;
442 if (!in_port.get()) {
443 params->port = mojo::MessagePipeHandle();
444 } else {
445 // Delegate handle.
446 params->port =
447 in_port.ResetAndReturnMessagePipe().release();
448 }
449 mojo::Message message;
450 params->EncodePointersAndHandles(message.mutable_handles());
451 builder.Finish(&message);
452 bool ok MOJO_ALLOW_UNUSED = receiver_->Accept(&message);
453 // This return value may be ignored as !ok implies the Connector has
454 // encountered an error, which will be visible through other means.
455 }
456
457 ServiceStub::ServiceStub()
458 : sink_(NULL) {
459 }
460
461 bool ServiceStub::Accept(mojo::Message* message) {
462 switch (message->header()->name) {
463 case internal::kService_Frobinate_Name: {
464 internal::Service_Frobinate_Params_Data* params =
465 reinterpret_cast<internal::Service_Frobinate_Params_Data*>(
466 message->mutable_payload());
467
468 if (!params->DecodePointersAndHandles(message))
469 return false;
470
471 FooPtr p1;
472 if (params->foo.ptr)
473 Deserialize_(params->foo.ptr, &p1);
474 sink_->Frobinate(p1.Pass(), static_cast<Service::BazOptions>(params->baz), mojo::MakeProxy<Port>(mojo::MakeScopedHandle(mojo::internal::FetchAndReset(&par ams->port))));
475 return true;
476 }
477 }
478 return false;
479 }
480
481 bool ServiceStub::AcceptWithResponder(
482 mojo::Message* message, mojo::MessageReceiver* responder) {
483 switch (message->header()->name) {
484 case internal::kService_Frobinate_Name: {
485 break;
486 }
487 }
488 return false;
489 }
490
491 ServiceRequestValidator::ServiceRequestValidator(
492 mojo::MessageReceiver* sink) : MessageFilter(sink) {
493 }
494
495 bool ServiceRequestValidator::Accept(mojo::Message* message) {
496 // TODO(yzshen): implement validation logic.
497 return sink_->Accept(message);
498 }
499
500
501
502 ServiceClientProxy::ServiceClientProxy(mojo::MessageReceiver* receiver)
503 : receiver_(receiver) {
504 }
505 void ServiceClientProxy::DidFrobinate(
506 int32_t in_result) {
507 size_t payload_size =
508 mojo::internal::Align(sizeof(internal::ServiceClient_DidFrobinate_Params_D ata));
509 mojo::internal::MessageBuilder builder(internal::kServiceClient_DidFrobinate_N ame, payload_size);
510
511 internal::ServiceClient_DidFrobinate_Params_Data* params =
512 internal::ServiceClient_DidFrobinate_Params_Data::New(builder.buffer());
513
514 params->result = in_result;
515 mojo::Message message;
516 params->EncodePointersAndHandles(message.mutable_handles());
517 builder.Finish(&message);
518 bool ok MOJO_ALLOW_UNUSED = receiver_->Accept(&message);
519 // This return value may be ignored as !ok implies the Connector has
520 // encountered an error, which will be visible through other means.
521 }
522
523 ServiceClientStub::ServiceClientStub()
524 : sink_(NULL) {
525 }
526
527 bool ServiceClientStub::Accept(mojo::Message* message) {
528 switch (message->header()->name) {
529 case internal::kServiceClient_DidFrobinate_Name: {
530 internal::ServiceClient_DidFrobinate_Params_Data* params =
531 reinterpret_cast<internal::ServiceClient_DidFrobinate_Params_Data*>(
532 message->mutable_payload());
533
534 if (!params->DecodePointersAndHandles(message))
535 return false;
536
537 sink_->DidFrobinate(params->result);
538 return true;
539 }
540 }
541 return false;
542 }
543
544 bool ServiceClientStub::AcceptWithResponder(
545 mojo::Message* message, mojo::MessageReceiver* responder) {
546 switch (message->header()->name) {
547 case internal::kServiceClient_DidFrobinate_Name: {
548 break;
549 }
550 }
551 return false;
552 }
553
554 ServiceClientRequestValidator::ServiceClientRequestValidator(
555 mojo::MessageReceiver* sink) : MessageFilter(sink) {
556 }
557
558 bool ServiceClientRequestValidator::Accept(mojo::Message* message) {
559 // TODO(yzshen): implement validation logic.
560 return sink_->Accept(message);
561 }
562
563
564
565 PortProxy::PortProxy(mojo::MessageReceiver* receiver)
566 : receiver_(receiver) {
567 }
568 void PortProxy::PostMessage(
569 const mojo::String& in_message_text, PortPtr in_port) {
570 size_t payload_size =
571 mojo::internal::Align(sizeof(internal::Port_PostMessage_Params_Data));
572 if (in_message_text)
573 payload_size += GetSerializedSize_(in_message_text);
574 mojo::internal::MessageBuilder builder(internal::kPort_PostMessage_Name, paylo ad_size);
575
576 internal::Port_PostMessage_Params_Data* params =
577 internal::Port_PostMessage_Params_Data::New(builder.buffer());
578
579 if (in_message_text)
580 Serialize_(mojo::internal::Forward(in_message_text), builder.buffer(), &para ms->message_text.ptr);
581 if (!in_port.get()) {
582 params->port = mojo::MessagePipeHandle();
583 } else {
584 // Delegate handle.
585 params->port =
586 in_port.ResetAndReturnMessagePipe().release();
587 }
588 mojo::Message message;
589 params->EncodePointersAndHandles(message.mutable_handles());
590 builder.Finish(&message);
591 bool ok MOJO_ALLOW_UNUSED = receiver_->Accept(&message);
592 // This return value may be ignored as !ok implies the Connector has
593 // encountered an error, which will be visible through other means.
594 }
595
596 PortStub::PortStub()
597 : sink_(NULL) {
598 }
599
600 bool PortStub::Accept(mojo::Message* message) {
601 switch (message->header()->name) {
602 case internal::kPort_PostMessage_Name: {
603 internal::Port_PostMessage_Params_Data* params =
604 reinterpret_cast<internal::Port_PostMessage_Params_Data*>(
605 message->mutable_payload());
606
607 if (!params->DecodePointersAndHandles(message))
608 return false;
609
610 mojo::String p1;
611 if (params->message_text.ptr)
612 Deserialize_(params->message_text.ptr, &p1);
613 sink_->PostMessage(p1, mojo::MakeProxy<Port>(mojo::MakeScopedHandle(mojo:: internal::FetchAndReset(&params->port))));
614 return true;
615 }
616 }
617 return false;
618 }
619
620 bool PortStub::AcceptWithResponder(
621 mojo::Message* message, mojo::MessageReceiver* responder) {
622 switch (message->header()->name) {
623 case internal::kPort_PostMessage_Name: {
624 break;
625 }
626 }
627 return false;
628 }
629
630 PortRequestValidator::PortRequestValidator(
631 mojo::MessageReceiver* sink) : MessageFilter(sink) {
632 }
633
634 bool PortRequestValidator::Accept(mojo::Message* message) {
635 // TODO(yzshen): implement validation logic.
636 return sink_->Accept(message);
637 }
638 size_t GetSerializedSize_(const BarPtr& input) {
639 size_t size = mojo::internal::Align(sizeof(internal::Bar_Data));
640 return size;
641 }
642
643 void Serialize_(BarPtr input, mojo::internal::Buffer* buf,
644 internal::Bar_Data** output) {
645 internal::Bar_Data* result =
646 internal::Bar_Data::New(buf);
647 result->alpha = input->alpha;
648 result->beta = input->beta;
649 result->gamma = input->gamma;
650 result->type = input->type;
651 *output = result;
652 }
653
654 void Deserialize_(internal::Bar_Data* input,
655 BarPtr* output) {
656 BarPtr result(Bar::New());
657 result->alpha = input->alpha;
658 result->beta = input->beta;
659 result->gamma = input->gamma;
660 result->type = static_cast<Bar::Type>(
661 input->type);
662 *output = result.Pass();
663 }
664 size_t GetSerializedSize_(const FooPtr& input) {
665 size_t size = mojo::internal::Align(sizeof(internal::Foo_Data));
666 if (input->bar)
667 size += GetSerializedSize_(input->bar);
668 if (input->data)
669 size += GetSerializedSize_(input->data);
670 if (input->extra_bars)
671 size += GetSerializedSize_(input->extra_bars);
672 if (input->name)
673 size += GetSerializedSize_(input->name);
674 if (input->input_streams)
675 size += GetSerializedSize_(input->input_streams);
676 if (input->output_streams)
677 size += GetSerializedSize_(input->output_streams);
678 if (input->array_of_array_of_bools)
679 size += GetSerializedSize_(input->array_of_array_of_bools);
680 if (input->multi_array_of_strings)
681 size += GetSerializedSize_(input->multi_array_of_strings);
682 return size;
683 }
684
685 void Serialize_(FooPtr input, mojo::internal::Buffer* buf,
686 internal::Foo_Data** output) {
687 internal::Foo_Data* result =
688 internal::Foo_Data::New(buf);
689 result->x = input->x;
690 result->y = input->y;
691 result->a = input->a;
692 result->b = input->b;
693 result->c = input->c;
694 result->source = input->source.release();
695 if (input->bar)
696 Serialize_(mojo::internal::Forward(input->bar), buf, &result->bar.ptr);
697 if (input->data)
698 Serialize_(mojo::internal::Forward(input->data), buf, &result->data.ptr);
699 if (input->extra_bars)
700 Serialize_(mojo::internal::Forward(input->extra_bars), buf, &result->extra_b ars.ptr);
701 if (input->name)
702 Serialize_(mojo::internal::Forward(input->name), buf, &result->name.ptr);
703 if (input->input_streams)
704 Serialize_(mojo::internal::Forward(input->input_streams), buf, &result->inpu t_streams.ptr);
705 if (input->output_streams)
706 Serialize_(mojo::internal::Forward(input->output_streams), buf, &result->out put_streams.ptr);
707 if (input->array_of_array_of_bools)
708 Serialize_(mojo::internal::Forward(input->array_of_array_of_bools), buf, &re sult->array_of_array_of_bools.ptr);
709 if (input->multi_array_of_strings)
710 Serialize_(mojo::internal::Forward(input->multi_array_of_strings), buf, &res ult->multi_array_of_strings.ptr);
711 *output = result;
712 }
713
714 void Deserialize_(internal::Foo_Data* input,
715 FooPtr* output) {
716 FooPtr result(Foo::New());
717 result->x = input->x;
718 result->y = input->y;
719 result->a = input->a;
720 result->b = input->b;
721 result->c = input->c;
722 result->source.reset(mojo::internal::FetchAndReset(&input->source));
723 if (input->bar.ptr)
724 Deserialize_(input->bar.ptr, &result->bar);
725 if (input->data.ptr)
726 Deserialize_(input->data.ptr, &result->data);
727 if (input->extra_bars.ptr)
728 Deserialize_(input->extra_bars.ptr, &result->extra_bars);
729 if (input->name.ptr)
730 Deserialize_(input->name.ptr, &result->name);
731 if (input->input_streams.ptr)
732 Deserialize_(input->input_streams.ptr, &result->input_streams);
733 if (input->output_streams.ptr)
734 Deserialize_(input->output_streams.ptr, &result->output_streams);
735 if (input->array_of_array_of_bools.ptr)
736 Deserialize_(input->array_of_array_of_bools.ptr, &result->array_of_array_of_ bools);
737 if (input->multi_array_of_strings.ptr)
738 Deserialize_(input->multi_array_of_strings.ptr, &result->multi_array_of_stri ngs);
739 *output = result.Pass();
740 }
741 size_t GetSerializedSize_(const DefaultsTestInnerPtr& input) {
742 size_t size = mojo::internal::Align(sizeof(internal::DefaultsTestInner_Data));
743 return size;
744 }
745
746 void Serialize_(DefaultsTestInnerPtr input, mojo::internal::Buffer* buf,
747 internal::DefaultsTestInner_Data** output) {
748 internal::DefaultsTestInner_Data* result =
749 internal::DefaultsTestInner_Data::New(buf);
750 result->x = input->x;
751 *output = result;
752 }
753
754 void Deserialize_(internal::DefaultsTestInner_Data* input,
755 DefaultsTestInnerPtr* output) {
756 DefaultsTestInnerPtr result(DefaultsTestInner::New());
757 result->x = input->x;
758 *output = result.Pass();
759 }
760 size_t GetSerializedSize_(const DefaultsTestPtr& input) {
761 size_t size = mojo::internal::Align(sizeof(internal::DefaultsTest_Data));
762 if (input->a18)
763 size += GetSerializedSize_(input->a18);
764 if (input->a19)
765 size += GetSerializedSize_(input->a19);
766 if (input->a20)
767 size += GetSerializedSize_(input->a20);
768 return size;
769 }
770
771 void Serialize_(DefaultsTestPtr input, mojo::internal::Buffer* buf,
772 internal::DefaultsTest_Data** output) {
773 internal::DefaultsTest_Data* result =
774 internal::DefaultsTest_Data::New(buf);
775 result->a0 = input->a0;
776 result->a1 = input->a1;
777 result->a2 = input->a2;
778 result->a3 = input->a3;
779 result->a11 = input->a11;
780 result->a12 = input->a12;
781 result->a4 = input->a4;
782 result->a5 = input->a5;
783 result->a6 = input->a6;
784 result->a7 = input->a7;
785 result->a8 = input->a8;
786 result->a9 = input->a9;
787 result->a10 = input->a10;
788 result->a13 = input->a13;
789 result->a14 = input->a14;
790 result->a15 = input->a15;
791 result->a16 = input->a16;
792 result->a17 = input->a17;
793 if (input->a18)
794 Serialize_(mojo::internal::Forward(input->a18), buf, &result->a18.ptr);
795 if (input->a19)
796 Serialize_(mojo::internal::Forward(input->a19), buf, &result->a19.ptr);
797 if (input->a20)
798 Serialize_(mojo::internal::Forward(input->a20), buf, &result->a20.ptr);
799 *output = result;
800 }
801
802 void Deserialize_(internal::DefaultsTest_Data* input,
803 DefaultsTestPtr* output) {
804 DefaultsTestPtr result(DefaultsTest::New());
805 result->a0 = input->a0;
806 result->a1 = input->a1;
807 result->a2 = input->a2;
808 result->a3 = input->a3;
809 result->a11 = input->a11;
810 result->a12 = input->a12;
811 result->a4 = input->a4;
812 result->a5 = input->a5;
813 result->a6 = input->a6;
814 result->a7 = input->a7;
815 result->a8 = input->a8;
816 result->a9 = input->a9;
817 result->a10 = input->a10;
818 result->a13 = input->a13;
819 result->a14 = input->a14;
820 result->a15 = input->a15;
821 result->a16 = input->a16;
822 result->a17 = input->a17;
823 if (input->a18.ptr)
824 Deserialize_(input->a18.ptr, &result->a18);
825 if (input->a19.ptr)
826 Deserialize_(input->a19.ptr, &result->a19);
827 if (input->a20.ptr)
828 Deserialize_(input->a20.ptr, &result->a20);
829 *output = result.Pass();
830 }
831 size_t GetSerializedSize_(const StructWithHoleV1Ptr& input) {
832 size_t size = mojo::internal::Align(sizeof(internal::StructWithHoleV1_Data));
833 return size;
834 }
835
836 void Serialize_(StructWithHoleV1Ptr input, mojo::internal::Buffer* buf,
837 internal::StructWithHoleV1_Data** output) {
838 internal::StructWithHoleV1_Data* result =
839 internal::StructWithHoleV1_Data::New(buf);
840 result->v1 = input->v1;
841 result->v2 = input->v2;
842 *output = result;
843 }
844
845 void Deserialize_(internal::StructWithHoleV1_Data* input,
846 StructWithHoleV1Ptr* output) {
847 StructWithHoleV1Ptr result(StructWithHoleV1::New());
848 result->v1 = input->v1;
849 result->v2 = input->v2;
850 *output = result.Pass();
851 }
852 size_t GetSerializedSize_(const StructWithHoleV2Ptr& input) {
853 size_t size = mojo::internal::Align(sizeof(internal::StructWithHoleV2_Data));
854 return size;
855 }
856
857 void Serialize_(StructWithHoleV2Ptr input, mojo::internal::Buffer* buf,
858 internal::StructWithHoleV2_Data** output) {
859 internal::StructWithHoleV2_Data* result =
860 internal::StructWithHoleV2_Data::New(buf);
861 result->v1 = input->v1;
862 result->v3 = input->v3;
863 result->v2 = input->v2;
864 *output = result;
865 }
866
867 void Deserialize_(internal::StructWithHoleV2_Data* input,
868 StructWithHoleV2Ptr* output) {
869 StructWithHoleV2Ptr result(StructWithHoleV2::New());
870 result->v1 = input->v1;
871 result->v3 = input->v3;
872 result->v2 = input->v2;
873 *output = result.Pass();
874 }
875
876 } // namespace sample
877
878 #if defined(__clang__)
879 #pragma clang diagnostic pop
880 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698