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 library views_mojom; | 5 library views_mojom; |
6 import 'dart:async'; | 6 import 'dart:async'; |
7 import 'package:mojo/bindings.dart' as bindings; | 7 import 'package:mojo/bindings.dart' as bindings; |
8 import 'package:mojo/core.dart' as core; | 8 import 'package:mojo/core.dart' as core; |
9 import 'package:mojo/mojo/bindings/types/service_describer.mojom.dart' as servic
e_describer; | 9 import 'package:mojo/mojo/bindings/types/service_describer.mojom.dart' as servic
e_describer; |
10 import 'package:mojo/mojo/service_provider.mojom.dart' as service_provider_mojom
; | 10 import 'package:mojo/mojo/service_provider.mojom.dart' as service_provider_mojom
; |
11 import 'package:mojo_services/mojo/gfx/composition/scenes.mojom.dart' as scenes_
mojom; | 11 import 'package:mojo_services/mojo/gfx/composition/scenes.mojom.dart' as scenes_
mojom; |
12 import 'package:mojo_services/mojo/ui/view_containers.mojom.dart' as view_contai
ners_mojom; | 12 import 'package:mojo_services/mojo/ui/view_containers.mojom.dart' as view_contai
ners_mojom; |
13 import 'package:mojo_services/mojo/ui/view_properties.mojom.dart' as view_proper
ties_mojom; | 13 import 'package:mojo_services/mojo/ui/view_properties.mojom.dart' as view_proper
ties_mojom; |
14 import 'package:mojo_services/mojo/ui/view_token.mojom.dart' as view_token_mojom
; | 14 import 'package:mojo_services/mojo/ui/view_token.mojom.dart' as view_token_mojom
; |
15 | 15 |
16 | 16 |
17 | 17 |
18 class _ViewGetTokenParams extends bindings.Struct { | 18 class _ViewGetTokenParams extends bindings.Struct { |
19 static const List<bindings.StructDataHeader> kVersions = const [ | 19 static const List<bindings.StructDataHeader> kVersions = const [ |
20 const bindings.StructDataHeader(8, 0) | 20 const bindings.StructDataHeader(8, 0) |
21 ]; | 21 ]; |
22 | 22 |
23 _ViewGetTokenParams() : super(kVersions.last.size); | 23 _ViewGetTokenParams() : super(kVersions.last.size); |
24 | 24 |
| 25 _ViewGetTokenParams.init( |
| 26 ) : super(kVersions.last.size); |
| 27 |
25 static _ViewGetTokenParams deserialize(bindings.Message message) { | 28 static _ViewGetTokenParams deserialize(bindings.Message message) { |
26 var decoder = new bindings.Decoder(message); | 29 var decoder = new bindings.Decoder(message); |
27 var result = decode(decoder); | 30 var result = decode(decoder); |
28 if (decoder.excessHandles != null) { | 31 if (decoder.excessHandles != null) { |
29 decoder.excessHandles.forEach((h) => h.close()); | 32 decoder.excessHandles.forEach((h) => h.close()); |
30 } | 33 } |
31 return result; | 34 return result; |
32 } | 35 } |
33 | 36 |
34 static _ViewGetTokenParams decode(bindings.Decoder decoder0) { | 37 static _ViewGetTokenParams decode(bindings.Decoder decoder0) { |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 | 77 |
75 | 78 |
76 class ViewGetTokenResponseParams extends bindings.Struct { | 79 class ViewGetTokenResponseParams extends bindings.Struct { |
77 static const List<bindings.StructDataHeader> kVersions = const [ | 80 static const List<bindings.StructDataHeader> kVersions = const [ |
78 const bindings.StructDataHeader(16, 0) | 81 const bindings.StructDataHeader(16, 0) |
79 ]; | 82 ]; |
80 view_token_mojom.ViewToken token = null; | 83 view_token_mojom.ViewToken token = null; |
81 | 84 |
82 ViewGetTokenResponseParams() : super(kVersions.last.size); | 85 ViewGetTokenResponseParams() : super(kVersions.last.size); |
83 | 86 |
| 87 ViewGetTokenResponseParams.init( |
| 88 view_token_mojom.ViewToken this.token |
| 89 ) : super(kVersions.last.size); |
| 90 |
84 static ViewGetTokenResponseParams deserialize(bindings.Message message) { | 91 static ViewGetTokenResponseParams deserialize(bindings.Message message) { |
85 var decoder = new bindings.Decoder(message); | 92 var decoder = new bindings.Decoder(message); |
86 var result = decode(decoder); | 93 var result = decode(decoder); |
87 if (decoder.excessHandles != null) { | 94 if (decoder.excessHandles != null) { |
88 decoder.excessHandles.forEach((h) => h.close()); | 95 decoder.excessHandles.forEach((h) => h.close()); |
89 } | 96 } |
90 return result; | 97 return result; |
91 } | 98 } |
92 | 99 |
93 static ViewGetTokenResponseParams decode(bindings.Decoder decoder0) { | 100 static ViewGetTokenResponseParams decode(bindings.Decoder decoder0) { |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 | 154 |
148 | 155 |
149 class _ViewGetServiceProviderParams extends bindings.Struct { | 156 class _ViewGetServiceProviderParams extends bindings.Struct { |
150 static const List<bindings.StructDataHeader> kVersions = const [ | 157 static const List<bindings.StructDataHeader> kVersions = const [ |
151 const bindings.StructDataHeader(16, 0) | 158 const bindings.StructDataHeader(16, 0) |
152 ]; | 159 ]; |
153 service_provider_mojom.ServiceProviderInterfaceRequest serviceProvider = null; | 160 service_provider_mojom.ServiceProviderInterfaceRequest serviceProvider = null; |
154 | 161 |
155 _ViewGetServiceProviderParams() : super(kVersions.last.size); | 162 _ViewGetServiceProviderParams() : super(kVersions.last.size); |
156 | 163 |
| 164 _ViewGetServiceProviderParams.init( |
| 165 service_provider_mojom.ServiceProviderInterfaceRequest this.serviceProvider |
| 166 ) : super(kVersions.last.size); |
| 167 |
157 static _ViewGetServiceProviderParams deserialize(bindings.Message message) { | 168 static _ViewGetServiceProviderParams deserialize(bindings.Message message) { |
158 var decoder = new bindings.Decoder(message); | 169 var decoder = new bindings.Decoder(message); |
159 var result = decode(decoder); | 170 var result = decode(decoder); |
160 if (decoder.excessHandles != null) { | 171 if (decoder.excessHandles != null) { |
161 decoder.excessHandles.forEach((h) => h.close()); | 172 decoder.excessHandles.forEach((h) => h.close()); |
162 } | 173 } |
163 return result; | 174 return result; |
164 } | 175 } |
165 | 176 |
166 static _ViewGetServiceProviderParams decode(bindings.Decoder decoder0) { | 177 static _ViewGetServiceProviderParams decode(bindings.Decoder decoder0) { |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 | 229 |
219 | 230 |
220 class _ViewCreateSceneParams extends bindings.Struct { | 231 class _ViewCreateSceneParams extends bindings.Struct { |
221 static const List<bindings.StructDataHeader> kVersions = const [ | 232 static const List<bindings.StructDataHeader> kVersions = const [ |
222 const bindings.StructDataHeader(16, 0) | 233 const bindings.StructDataHeader(16, 0) |
223 ]; | 234 ]; |
224 scenes_mojom.SceneInterfaceRequest scene = null; | 235 scenes_mojom.SceneInterfaceRequest scene = null; |
225 | 236 |
226 _ViewCreateSceneParams() : super(kVersions.last.size); | 237 _ViewCreateSceneParams() : super(kVersions.last.size); |
227 | 238 |
| 239 _ViewCreateSceneParams.init( |
| 240 scenes_mojom.SceneInterfaceRequest this.scene |
| 241 ) : super(kVersions.last.size); |
| 242 |
228 static _ViewCreateSceneParams deserialize(bindings.Message message) { | 243 static _ViewCreateSceneParams deserialize(bindings.Message message) { |
229 var decoder = new bindings.Decoder(message); | 244 var decoder = new bindings.Decoder(message); |
230 var result = decode(decoder); | 245 var result = decode(decoder); |
231 if (decoder.excessHandles != null) { | 246 if (decoder.excessHandles != null) { |
232 decoder.excessHandles.forEach((h) => h.close()); | 247 decoder.excessHandles.forEach((h) => h.close()); |
233 } | 248 } |
234 return result; | 249 return result; |
235 } | 250 } |
236 | 251 |
237 static _ViewCreateSceneParams decode(bindings.Decoder decoder0) { | 252 static _ViewCreateSceneParams decode(bindings.Decoder decoder0) { |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
289 | 304 |
290 | 305 |
291 class _ViewGetContainerParams extends bindings.Struct { | 306 class _ViewGetContainerParams extends bindings.Struct { |
292 static const List<bindings.StructDataHeader> kVersions = const [ | 307 static const List<bindings.StructDataHeader> kVersions = const [ |
293 const bindings.StructDataHeader(16, 0) | 308 const bindings.StructDataHeader(16, 0) |
294 ]; | 309 ]; |
295 view_containers_mojom.ViewContainerInterfaceRequest container = null; | 310 view_containers_mojom.ViewContainerInterfaceRequest container = null; |
296 | 311 |
297 _ViewGetContainerParams() : super(kVersions.last.size); | 312 _ViewGetContainerParams() : super(kVersions.last.size); |
298 | 313 |
| 314 _ViewGetContainerParams.init( |
| 315 view_containers_mojom.ViewContainerInterfaceRequest this.container |
| 316 ) : super(kVersions.last.size); |
| 317 |
299 static _ViewGetContainerParams deserialize(bindings.Message message) { | 318 static _ViewGetContainerParams deserialize(bindings.Message message) { |
300 var decoder = new bindings.Decoder(message); | 319 var decoder = new bindings.Decoder(message); |
301 var result = decode(decoder); | 320 var result = decode(decoder); |
302 if (decoder.excessHandles != null) { | 321 if (decoder.excessHandles != null) { |
303 decoder.excessHandles.forEach((h) => h.close()); | 322 decoder.excessHandles.forEach((h) => h.close()); |
304 } | 323 } |
305 return result; | 324 return result; |
306 } | 325 } |
307 | 326 |
308 static _ViewGetContainerParams decode(bindings.Decoder decoder0) { | 327 static _ViewGetContainerParams decode(bindings.Decoder decoder0) { |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 | 380 |
362 class _ViewListenerOnPropertiesChangedParams extends bindings.Struct { | 381 class _ViewListenerOnPropertiesChangedParams extends bindings.Struct { |
363 static const List<bindings.StructDataHeader> kVersions = const [ | 382 static const List<bindings.StructDataHeader> kVersions = const [ |
364 const bindings.StructDataHeader(24, 0) | 383 const bindings.StructDataHeader(24, 0) |
365 ]; | 384 ]; |
366 int sceneVersion = 0; | 385 int sceneVersion = 0; |
367 view_properties_mojom.ViewProperties properties = null; | 386 view_properties_mojom.ViewProperties properties = null; |
368 | 387 |
369 _ViewListenerOnPropertiesChangedParams() : super(kVersions.last.size); | 388 _ViewListenerOnPropertiesChangedParams() : super(kVersions.last.size); |
370 | 389 |
| 390 _ViewListenerOnPropertiesChangedParams.init( |
| 391 int this.sceneVersion, |
| 392 view_properties_mojom.ViewProperties this.properties |
| 393 ) : super(kVersions.last.size); |
| 394 |
371 static _ViewListenerOnPropertiesChangedParams deserialize(bindings.Message mes
sage) { | 395 static _ViewListenerOnPropertiesChangedParams deserialize(bindings.Message mes
sage) { |
372 var decoder = new bindings.Decoder(message); | 396 var decoder = new bindings.Decoder(message); |
373 var result = decode(decoder); | 397 var result = decode(decoder); |
374 if (decoder.excessHandles != null) { | 398 if (decoder.excessHandles != null) { |
375 decoder.excessHandles.forEach((h) => h.close()); | 399 decoder.excessHandles.forEach((h) => h.close()); |
376 } | 400 } |
377 return result; | 401 return result; |
378 } | 402 } |
379 | 403 |
380 static _ViewListenerOnPropertiesChangedParams decode(bindings.Decoder decoder0
) { | 404 static _ViewListenerOnPropertiesChangedParams decode(bindings.Decoder decoder0
) { |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
446 } | 470 } |
447 | 471 |
448 | 472 |
449 class ViewListenerOnPropertiesChangedResponseParams extends bindings.Struct { | 473 class ViewListenerOnPropertiesChangedResponseParams extends bindings.Struct { |
450 static const List<bindings.StructDataHeader> kVersions = const [ | 474 static const List<bindings.StructDataHeader> kVersions = const [ |
451 const bindings.StructDataHeader(8, 0) | 475 const bindings.StructDataHeader(8, 0) |
452 ]; | 476 ]; |
453 | 477 |
454 ViewListenerOnPropertiesChangedResponseParams() : super(kVersions.last.size); | 478 ViewListenerOnPropertiesChangedResponseParams() : super(kVersions.last.size); |
455 | 479 |
| 480 ViewListenerOnPropertiesChangedResponseParams.init( |
| 481 ) : super(kVersions.last.size); |
| 482 |
456 static ViewListenerOnPropertiesChangedResponseParams deserialize(bindings.Mess
age message) { | 483 static ViewListenerOnPropertiesChangedResponseParams deserialize(bindings.Mess
age message) { |
457 var decoder = new bindings.Decoder(message); | 484 var decoder = new bindings.Decoder(message); |
458 var result = decode(decoder); | 485 var result = decode(decoder); |
459 if (decoder.excessHandles != null) { | 486 if (decoder.excessHandles != null) { |
460 decoder.excessHandles.forEach((h) => h.close()); | 487 decoder.excessHandles.forEach((h) => h.close()); |
461 } | 488 } |
462 return result; | 489 return result; |
463 } | 490 } |
464 | 491 |
465 static ViewListenerOnPropertiesChangedResponseParams decode(bindings.Decoder d
ecoder0) { | 492 static ViewListenerOnPropertiesChangedResponseParams decode(bindings.Decoder d
ecoder0) { |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
502 return map; | 529 return map; |
503 } | 530 } |
504 } | 531 } |
505 | 532 |
506 const int _viewMethodGetTokenName = 0; | 533 const int _viewMethodGetTokenName = 0; |
507 const int _viewMethodGetServiceProviderName = 1; | 534 const int _viewMethodGetServiceProviderName = 1; |
508 const int _viewMethodCreateSceneName = 2; | 535 const int _viewMethodCreateSceneName = 2; |
509 const int _viewMethodGetContainerName = 3; | 536 const int _viewMethodGetContainerName = 3; |
510 | 537 |
511 class _ViewServiceDescription implements service_describer.ServiceDescription { | 538 class _ViewServiceDescription implements service_describer.ServiceDescription { |
512 dynamic getTopLevelInterface([Function responseFactory]) => | 539 void getTopLevelInterface(Function responder) { |
513 responseFactory(null); | 540 responder(null); |
| 541 } |
514 | 542 |
515 dynamic getTypeDefinition(String typeKey, [Function responseFactory]) => | 543 void getTypeDefinition(String typeKey, Function responder) { |
516 responseFactory(null); | 544 responder(null); |
| 545 } |
517 | 546 |
518 dynamic getAllTypeDefinitions([Function responseFactory]) => | 547 void getAllTypeDefinitions(Function responder) { |
519 responseFactory(null); | 548 responder(null); |
| 549 } |
520 } | 550 } |
521 | 551 |
522 abstract class View { | 552 abstract class View { |
523 static const String serviceName = null; | 553 static const String serviceName = null; |
524 | 554 |
525 static service_describer.ServiceDescription _cachedServiceDescription; | 555 static service_describer.ServiceDescription _cachedServiceDescription; |
526 static service_describer.ServiceDescription get serviceDescription { | 556 static service_describer.ServiceDescription get serviceDescription { |
527 if (_cachedServiceDescription == null) { | 557 if (_cachedServiceDescription == null) { |
528 _cachedServiceDescription = new _ViewServiceDescription(); | 558 _cachedServiceDescription = new _ViewServiceDescription(); |
529 } | 559 } |
530 return _cachedServiceDescription; | 560 return _cachedServiceDescription; |
531 } | 561 } |
532 | 562 |
533 static ViewProxy connectToService( | 563 static ViewProxy connectToService( |
534 bindings.ServiceConnector s, String url, [String serviceName]) { | 564 bindings.ServiceConnector s, String url, [String serviceName]) { |
535 ViewProxy p = new ViewProxy.unbound(); | 565 ViewProxy p = new ViewProxy.unbound(); |
536 String name = serviceName ?? View.serviceName; | 566 String name = serviceName ?? View.serviceName; |
537 if ((name == null) || name.isEmpty) { | 567 if ((name == null) || name.isEmpty) { |
538 throw new core.MojoApiError( | 568 throw new core.MojoApiError( |
539 "If an interface has no ServiceName, then one must be provided."); | 569 "If an interface has no ServiceName, then one must be provided."); |
540 } | 570 } |
541 s.connectToService(url, p, name); | 571 s.connectToService(url, p, name); |
542 return p; | 572 return p; |
543 } | 573 } |
544 dynamic getToken([Function responseFactory = null]); | 574 void getToken(void callback(view_token_mojom.ViewToken token)); |
545 void getServiceProvider(service_provider_mojom.ServiceProviderInterfaceRequest
serviceProvider); | 575 void getServiceProvider(service_provider_mojom.ServiceProviderInterfaceRequest
serviceProvider); |
546 void createScene(scenes_mojom.SceneInterfaceRequest scene); | 576 void createScene(scenes_mojom.SceneInterfaceRequest scene); |
547 void getContainer(view_containers_mojom.ViewContainerInterfaceRequest containe
r); | 577 void getContainer(view_containers_mojom.ViewContainerInterfaceRequest containe
r); |
548 } | 578 } |
549 | 579 |
550 abstract class ViewInterface | 580 abstract class ViewInterface |
551 implements bindings.MojoInterface<View>, | 581 implements bindings.MojoInterface<View>, |
552 View { | 582 View { |
553 factory ViewInterface([View impl]) => | 583 factory ViewInterface([View impl]) => |
554 new ViewStub.unbound(impl); | 584 new ViewStub.unbound(impl); |
(...skipping 25 matching lines...) Expand all Loading... |
580 | 610 |
581 void handleResponse(bindings.ServiceMessage message) { | 611 void handleResponse(bindings.ServiceMessage message) { |
582 switch (message.header.type) { | 612 switch (message.header.type) { |
583 case _viewMethodGetTokenName: | 613 case _viewMethodGetTokenName: |
584 var r = ViewGetTokenResponseParams.deserialize( | 614 var r = ViewGetTokenResponseParams.deserialize( |
585 message.payload); | 615 message.payload); |
586 if (!message.header.hasRequestId) { | 616 if (!message.header.hasRequestId) { |
587 proxyError("Expected a message with a valid request Id."); | 617 proxyError("Expected a message with a valid request Id."); |
588 return; | 618 return; |
589 } | 619 } |
590 Completer c = completerMap[message.header.requestId]; | 620 Function callback = callbackMap[message.header.requestId]; |
591 if (c == null) { | 621 if (callback == null) { |
592 proxyError( | 622 proxyError( |
593 "Message had unknown request Id: ${message.header.requestId}"); | 623 "Message had unknown request Id: ${message.header.requestId}"); |
594 return; | 624 return; |
595 } | 625 } |
596 completerMap.remove(message.header.requestId); | 626 callbackMap.remove(message.header.requestId); |
597 if (c.isCompleted) { | 627 callback(r.token ); |
598 proxyError("Response completer already completed"); | |
599 return; | |
600 } | |
601 c.complete(r); | |
602 break; | 628 break; |
603 default: | 629 default: |
604 proxyError("Unexpected message type: ${message.header.type}"); | 630 proxyError("Unexpected message type: ${message.header.type}"); |
605 close(immediate: true); | 631 close(immediate: true); |
606 break; | 632 break; |
607 } | 633 } |
608 } | 634 } |
609 | 635 |
610 View get impl => null; | 636 View get impl => null; |
611 set impl(View _) { | 637 set impl(View _) { |
(...skipping 22 matching lines...) Expand all Loading... |
634 ViewProxy.unbound() | 660 ViewProxy.unbound() |
635 : super(new _ViewProxyControl.unbound()); | 661 : super(new _ViewProxyControl.unbound()); |
636 | 662 |
637 static ViewProxy newFromEndpoint( | 663 static ViewProxy newFromEndpoint( |
638 core.MojoMessagePipeEndpoint endpoint) { | 664 core.MojoMessagePipeEndpoint endpoint) { |
639 assert(endpoint.setDescription("For ViewProxy")); | 665 assert(endpoint.setDescription("For ViewProxy")); |
640 return new ViewProxy.fromEndpoint(endpoint); | 666 return new ViewProxy.fromEndpoint(endpoint); |
641 } | 667 } |
642 | 668 |
643 | 669 |
644 dynamic getToken([Function responseFactory = null]) { | 670 void getToken(void callback(view_token_mojom.ViewToken token)) { |
645 var params = new _ViewGetTokenParams(); | 671 var params = new _ViewGetTokenParams(); |
646 return ctrl.sendMessageWithRequestId( | 672 ctrl.sendMessageWithRequestId( |
647 params, | 673 params, |
648 _viewMethodGetTokenName, | 674 _viewMethodGetTokenName, |
649 -1, | 675 -1, |
650 bindings.MessageHeader.kMessageExpectsResponse); | 676 bindings.MessageHeader.kMessageExpectsResponse, |
| 677 callback); |
651 } | 678 } |
652 void getServiceProvider(service_provider_mojom.ServiceProviderInterfaceRequest
serviceProvider) { | 679 void getServiceProvider(service_provider_mojom.ServiceProviderInterfaceRequest
serviceProvider) { |
653 if (!ctrl.isBound) { | 680 if (!ctrl.isBound) { |
654 ctrl.proxyError("The Proxy is closed."); | 681 ctrl.proxyError("The Proxy is closed."); |
655 return; | 682 return; |
656 } | 683 } |
657 var params = new _ViewGetServiceProviderParams(); | 684 var params = new _ViewGetServiceProviderParams(); |
658 params.serviceProvider = serviceProvider; | 685 params.serviceProvider = serviceProvider; |
659 ctrl.sendMessage(params, | 686 ctrl.sendMessage(params, |
660 _viewMethodGetServiceProviderName); | 687 _viewMethodGetServiceProviderName); |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
696 core.MojoHandle handle, [View impl]) | 723 core.MojoHandle handle, [View impl]) |
697 : super.fromHandle(handle, autoBegin: impl != null) { | 724 : super.fromHandle(handle, autoBegin: impl != null) { |
698 _impl = impl; | 725 _impl = impl; |
699 } | 726 } |
700 | 727 |
701 _ViewStubControl.unbound([this._impl]) : super.unbound(); | 728 _ViewStubControl.unbound([this._impl]) : super.unbound(); |
702 | 729 |
703 String get serviceName => View.serviceName; | 730 String get serviceName => View.serviceName; |
704 | 731 |
705 | 732 |
706 ViewGetTokenResponseParams _viewGetTokenResponseParamsFactory(view_token_mojom
.ViewToken token) { | 733 Function _viewGetTokenResponseParamsResponder( |
707 var result = new ViewGetTokenResponseParams(); | 734 int requestId) { |
708 result.token = token; | 735 return (view_token_mojom.ViewToken token) { |
709 return result; | 736 var result = new ViewGetTokenResponseParams(); |
| 737 result.token = token; |
| 738 sendResponse(buildResponseWithId( |
| 739 result, |
| 740 _viewMethodGetTokenName, |
| 741 requestId, |
| 742 bindings.MessageHeader.kMessageIsResponse)); |
| 743 }; |
710 } | 744 } |
711 | 745 |
712 dynamic handleMessage(bindings.ServiceMessage message) { | 746 void handleMessage(bindings.ServiceMessage message) { |
713 if (bindings.ControlMessageHandler.isControlMessage(message)) { | 747 if (bindings.ControlMessageHandler.isControlMessage(message)) { |
714 return bindings.ControlMessageHandler.handleMessage(this, | 748 bindings.ControlMessageHandler.handleMessage( |
715 0, | 749 this, 0, message); |
716 message); | 750 return; |
717 } | 751 } |
718 if (_impl == null) { | 752 if (_impl == null) { |
719 throw new core.MojoApiError("$this has no implementation set"); | 753 throw new core.MojoApiError("$this has no implementation set"); |
720 } | 754 } |
721 switch (message.header.type) { | 755 switch (message.header.type) { |
722 case _viewMethodGetTokenName: | 756 case _viewMethodGetTokenName: |
723 var response = _impl.getToken(_viewGetTokenResponseParamsFactory); | 757 _impl.getToken(_viewGetTokenResponseParamsResponder(message.header.reque
stId)); |
724 if (response is Future) { | |
725 return response.then((response) { | |
726 if (response != null) { | |
727 return buildResponseWithId( | |
728 response, | |
729 _viewMethodGetTokenName, | |
730 message.header.requestId, | |
731 bindings.MessageHeader.kMessageIsResponse); | |
732 } | |
733 }); | |
734 } else if (response != null) { | |
735 return buildResponseWithId( | |
736 response, | |
737 _viewMethodGetTokenName, | |
738 message.header.requestId, | |
739 bindings.MessageHeader.kMessageIsResponse); | |
740 } | |
741 break; | 758 break; |
742 case _viewMethodGetServiceProviderName: | 759 case _viewMethodGetServiceProviderName: |
743 var params = _ViewGetServiceProviderParams.deserialize( | 760 var params = _ViewGetServiceProviderParams.deserialize( |
744 message.payload); | 761 message.payload); |
745 _impl.getServiceProvider(params.serviceProvider); | 762 _impl.getServiceProvider(params.serviceProvider); |
746 break; | 763 break; |
747 case _viewMethodCreateSceneName: | 764 case _viewMethodCreateSceneName: |
748 var params = _ViewCreateSceneParams.deserialize( | 765 var params = _ViewCreateSceneParams.deserialize( |
749 message.payload); | 766 message.payload); |
750 _impl.createScene(params.scene); | 767 _impl.createScene(params.scene); |
751 break; | 768 break; |
752 case _viewMethodGetContainerName: | 769 case _viewMethodGetContainerName: |
753 var params = _ViewGetContainerParams.deserialize( | 770 var params = _ViewGetContainerParams.deserialize( |
754 message.payload); | 771 message.payload); |
755 _impl.getContainer(params.container); | 772 _impl.getContainer(params.container); |
756 break; | 773 break; |
757 default: | 774 default: |
758 throw new bindings.MojoCodecError("Unexpected message name"); | 775 throw new bindings.MojoCodecError("Unexpected message name"); |
759 break; | 776 break; |
760 } | 777 } |
761 return null; | |
762 } | 778 } |
763 | 779 |
764 View get impl => _impl; | 780 View get impl => _impl; |
765 set impl(View d) { | 781 set impl(View d) { |
766 if (d == null) { | 782 if (d == null) { |
767 throw new core.MojoApiError("$this: Cannot set a null implementation"); | 783 throw new core.MojoApiError("$this: Cannot set a null implementation"); |
768 } | 784 } |
769 if (isBound && (_impl == null)) { | 785 if (isBound && (_impl == null)) { |
770 beginHandlingEvents(); | 786 beginHandlingEvents(); |
771 } | 787 } |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
805 core.MojoHandle handle, [View impl]) | 821 core.MojoHandle handle, [View impl]) |
806 : super(new _ViewStubControl.fromHandle(handle, impl)); | 822 : super(new _ViewStubControl.fromHandle(handle, impl)); |
807 | 823 |
808 static ViewStub newFromEndpoint( | 824 static ViewStub newFromEndpoint( |
809 core.MojoMessagePipeEndpoint endpoint) { | 825 core.MojoMessagePipeEndpoint endpoint) { |
810 assert(endpoint.setDescription("For ViewStub")); | 826 assert(endpoint.setDescription("For ViewStub")); |
811 return new ViewStub.fromEndpoint(endpoint); | 827 return new ViewStub.fromEndpoint(endpoint); |
812 } | 828 } |
813 | 829 |
814 | 830 |
815 dynamic getToken([Function responseFactory = null]) { | 831 void getToken(void callback(view_token_mojom.ViewToken token)) { |
816 return impl.getToken(responseFactory); | 832 return impl.getToken(callback); |
817 } | 833 } |
818 void getServiceProvider(service_provider_mojom.ServiceProviderInterfaceRequest
serviceProvider) { | 834 void getServiceProvider(service_provider_mojom.ServiceProviderInterfaceRequest
serviceProvider) { |
819 return impl.getServiceProvider(serviceProvider); | 835 return impl.getServiceProvider(serviceProvider); |
820 } | 836 } |
821 void createScene(scenes_mojom.SceneInterfaceRequest scene) { | 837 void createScene(scenes_mojom.SceneInterfaceRequest scene) { |
822 return impl.createScene(scene); | 838 return impl.createScene(scene); |
823 } | 839 } |
824 void getContainer(view_containers_mojom.ViewContainerInterfaceRequest containe
r) { | 840 void getContainer(view_containers_mojom.ViewContainerInterfaceRequest containe
r) { |
825 return impl.getContainer(container); | 841 return impl.getContainer(container); |
826 } | 842 } |
827 } | 843 } |
828 | 844 |
829 const int _viewListenerMethodOnPropertiesChangedName = 0; | 845 const int _viewListenerMethodOnPropertiesChangedName = 0; |
830 | 846 |
831 class _ViewListenerServiceDescription implements service_describer.ServiceDescri
ption { | 847 class _ViewListenerServiceDescription implements service_describer.ServiceDescri
ption { |
832 dynamic getTopLevelInterface([Function responseFactory]) => | 848 void getTopLevelInterface(Function responder) { |
833 responseFactory(null); | 849 responder(null); |
| 850 } |
834 | 851 |
835 dynamic getTypeDefinition(String typeKey, [Function responseFactory]) => | 852 void getTypeDefinition(String typeKey, Function responder) { |
836 responseFactory(null); | 853 responder(null); |
| 854 } |
837 | 855 |
838 dynamic getAllTypeDefinitions([Function responseFactory]) => | 856 void getAllTypeDefinitions(Function responder) { |
839 responseFactory(null); | 857 responder(null); |
| 858 } |
840 } | 859 } |
841 | 860 |
842 abstract class ViewListener { | 861 abstract class ViewListener { |
843 static const String serviceName = null; | 862 static const String serviceName = null; |
844 | 863 |
845 static service_describer.ServiceDescription _cachedServiceDescription; | 864 static service_describer.ServiceDescription _cachedServiceDescription; |
846 static service_describer.ServiceDescription get serviceDescription { | 865 static service_describer.ServiceDescription get serviceDescription { |
847 if (_cachedServiceDescription == null) { | 866 if (_cachedServiceDescription == null) { |
848 _cachedServiceDescription = new _ViewListenerServiceDescription(); | 867 _cachedServiceDescription = new _ViewListenerServiceDescription(); |
849 } | 868 } |
850 return _cachedServiceDescription; | 869 return _cachedServiceDescription; |
851 } | 870 } |
852 | 871 |
853 static ViewListenerProxy connectToService( | 872 static ViewListenerProxy connectToService( |
854 bindings.ServiceConnector s, String url, [String serviceName]) { | 873 bindings.ServiceConnector s, String url, [String serviceName]) { |
855 ViewListenerProxy p = new ViewListenerProxy.unbound(); | 874 ViewListenerProxy p = new ViewListenerProxy.unbound(); |
856 String name = serviceName ?? ViewListener.serviceName; | 875 String name = serviceName ?? ViewListener.serviceName; |
857 if ((name == null) || name.isEmpty) { | 876 if ((name == null) || name.isEmpty) { |
858 throw new core.MojoApiError( | 877 throw new core.MojoApiError( |
859 "If an interface has no ServiceName, then one must be provided."); | 878 "If an interface has no ServiceName, then one must be provided."); |
860 } | 879 } |
861 s.connectToService(url, p, name); | 880 s.connectToService(url, p, name); |
862 return p; | 881 return p; |
863 } | 882 } |
864 dynamic onPropertiesChanged(int sceneVersion,view_properties_mojom.ViewPropert
ies properties,[Function responseFactory = null]); | 883 void onPropertiesChanged(int sceneVersion,view_properties_mojom.ViewProperties
properties,void callback()); |
865 } | 884 } |
866 | 885 |
867 abstract class ViewListenerInterface | 886 abstract class ViewListenerInterface |
868 implements bindings.MojoInterface<ViewListener>, | 887 implements bindings.MojoInterface<ViewListener>, |
869 ViewListener { | 888 ViewListener { |
870 factory ViewListenerInterface([ViewListener impl]) => | 889 factory ViewListenerInterface([ViewListener impl]) => |
871 new ViewListenerStub.unbound(impl); | 890 new ViewListenerStub.unbound(impl); |
872 factory ViewListenerInterface.fromEndpoint( | 891 factory ViewListenerInterface.fromEndpoint( |
873 core.MojoMessagePipeEndpoint endpoint, | 892 core.MojoMessagePipeEndpoint endpoint, |
874 [ViewListener impl]) => | 893 [ViewListener impl]) => |
(...skipping 22 matching lines...) Expand all Loading... |
897 | 916 |
898 void handleResponse(bindings.ServiceMessage message) { | 917 void handleResponse(bindings.ServiceMessage message) { |
899 switch (message.header.type) { | 918 switch (message.header.type) { |
900 case _viewListenerMethodOnPropertiesChangedName: | 919 case _viewListenerMethodOnPropertiesChangedName: |
901 var r = ViewListenerOnPropertiesChangedResponseParams.deserialize( | 920 var r = ViewListenerOnPropertiesChangedResponseParams.deserialize( |
902 message.payload); | 921 message.payload); |
903 if (!message.header.hasRequestId) { | 922 if (!message.header.hasRequestId) { |
904 proxyError("Expected a message with a valid request Id."); | 923 proxyError("Expected a message with a valid request Id."); |
905 return; | 924 return; |
906 } | 925 } |
907 Completer c = completerMap[message.header.requestId]; | 926 Function callback = callbackMap[message.header.requestId]; |
908 if (c == null) { | 927 if (callback == null) { |
909 proxyError( | 928 proxyError( |
910 "Message had unknown request Id: ${message.header.requestId}"); | 929 "Message had unknown request Id: ${message.header.requestId}"); |
911 return; | 930 return; |
912 } | 931 } |
913 completerMap.remove(message.header.requestId); | 932 callbackMap.remove(message.header.requestId); |
914 if (c.isCompleted) { | 933 callback(); |
915 proxyError("Response completer already completed"); | |
916 return; | |
917 } | |
918 c.complete(r); | |
919 break; | 934 break; |
920 default: | 935 default: |
921 proxyError("Unexpected message type: ${message.header.type}"); | 936 proxyError("Unexpected message type: ${message.header.type}"); |
922 close(immediate: true); | 937 close(immediate: true); |
923 break; | 938 break; |
924 } | 939 } |
925 } | 940 } |
926 | 941 |
927 ViewListener get impl => null; | 942 ViewListener get impl => null; |
928 set impl(ViewListener _) { | 943 set impl(ViewListener _) { |
(...skipping 22 matching lines...) Expand all Loading... |
951 ViewListenerProxy.unbound() | 966 ViewListenerProxy.unbound() |
952 : super(new _ViewListenerProxyControl.unbound()); | 967 : super(new _ViewListenerProxyControl.unbound()); |
953 | 968 |
954 static ViewListenerProxy newFromEndpoint( | 969 static ViewListenerProxy newFromEndpoint( |
955 core.MojoMessagePipeEndpoint endpoint) { | 970 core.MojoMessagePipeEndpoint endpoint) { |
956 assert(endpoint.setDescription("For ViewListenerProxy")); | 971 assert(endpoint.setDescription("For ViewListenerProxy")); |
957 return new ViewListenerProxy.fromEndpoint(endpoint); | 972 return new ViewListenerProxy.fromEndpoint(endpoint); |
958 } | 973 } |
959 | 974 |
960 | 975 |
961 dynamic onPropertiesChanged(int sceneVersion,view_properties_mojom.ViewPropert
ies properties,[Function responseFactory = null]) { | 976 void onPropertiesChanged(int sceneVersion,view_properties_mojom.ViewProperties
properties,void callback()) { |
962 var params = new _ViewListenerOnPropertiesChangedParams(); | 977 var params = new _ViewListenerOnPropertiesChangedParams(); |
963 params.sceneVersion = sceneVersion; | 978 params.sceneVersion = sceneVersion; |
964 params.properties = properties; | 979 params.properties = properties; |
965 return ctrl.sendMessageWithRequestId( | 980 ctrl.sendMessageWithRequestId( |
966 params, | 981 params, |
967 _viewListenerMethodOnPropertiesChangedName, | 982 _viewListenerMethodOnPropertiesChangedName, |
968 -1, | 983 -1, |
969 bindings.MessageHeader.kMessageExpectsResponse); | 984 bindings.MessageHeader.kMessageExpectsResponse, |
| 985 callback); |
970 } | 986 } |
971 } | 987 } |
972 | 988 |
973 class _ViewListenerStubControl | 989 class _ViewListenerStubControl |
974 extends bindings.StubMessageHandler | 990 extends bindings.StubMessageHandler |
975 implements bindings.StubControl<ViewListener> { | 991 implements bindings.StubControl<ViewListener> { |
976 ViewListener _impl; | 992 ViewListener _impl; |
977 | 993 |
978 _ViewListenerStubControl.fromEndpoint( | 994 _ViewListenerStubControl.fromEndpoint( |
979 core.MojoMessagePipeEndpoint endpoint, [ViewListener impl]) | 995 core.MojoMessagePipeEndpoint endpoint, [ViewListener impl]) |
980 : super.fromEndpoint(endpoint, autoBegin: impl != null) { | 996 : super.fromEndpoint(endpoint, autoBegin: impl != null) { |
981 _impl = impl; | 997 _impl = impl; |
982 } | 998 } |
983 | 999 |
984 _ViewListenerStubControl.fromHandle( | 1000 _ViewListenerStubControl.fromHandle( |
985 core.MojoHandle handle, [ViewListener impl]) | 1001 core.MojoHandle handle, [ViewListener impl]) |
986 : super.fromHandle(handle, autoBegin: impl != null) { | 1002 : super.fromHandle(handle, autoBegin: impl != null) { |
987 _impl = impl; | 1003 _impl = impl; |
988 } | 1004 } |
989 | 1005 |
990 _ViewListenerStubControl.unbound([this._impl]) : super.unbound(); | 1006 _ViewListenerStubControl.unbound([this._impl]) : super.unbound(); |
991 | 1007 |
992 String get serviceName => ViewListener.serviceName; | 1008 String get serviceName => ViewListener.serviceName; |
993 | 1009 |
994 | 1010 |
995 ViewListenerOnPropertiesChangedResponseParams _viewListenerOnPropertiesChanged
ResponseParamsFactory() { | 1011 Function _viewListenerOnPropertiesChangedResponseParamsResponder( |
996 var result = new ViewListenerOnPropertiesChangedResponseParams(); | 1012 int requestId) { |
997 return result; | 1013 return () { |
| 1014 var result = new ViewListenerOnPropertiesChangedResponseParams(); |
| 1015 sendResponse(buildResponseWithId( |
| 1016 result, |
| 1017 _viewListenerMethodOnPropertiesChangedName, |
| 1018 requestId, |
| 1019 bindings.MessageHeader.kMessageIsResponse)); |
| 1020 }; |
998 } | 1021 } |
999 | 1022 |
1000 dynamic handleMessage(bindings.ServiceMessage message) { | 1023 void handleMessage(bindings.ServiceMessage message) { |
1001 if (bindings.ControlMessageHandler.isControlMessage(message)) { | 1024 if (bindings.ControlMessageHandler.isControlMessage(message)) { |
1002 return bindings.ControlMessageHandler.handleMessage(this, | 1025 bindings.ControlMessageHandler.handleMessage( |
1003 0, | 1026 this, 0, message); |
1004 message); | 1027 return; |
1005 } | 1028 } |
1006 if (_impl == null) { | 1029 if (_impl == null) { |
1007 throw new core.MojoApiError("$this has no implementation set"); | 1030 throw new core.MojoApiError("$this has no implementation set"); |
1008 } | 1031 } |
1009 switch (message.header.type) { | 1032 switch (message.header.type) { |
1010 case _viewListenerMethodOnPropertiesChangedName: | 1033 case _viewListenerMethodOnPropertiesChangedName: |
1011 var params = _ViewListenerOnPropertiesChangedParams.deserialize( | 1034 var params = _ViewListenerOnPropertiesChangedParams.deserialize( |
1012 message.payload); | 1035 message.payload); |
1013 var response = _impl.onPropertiesChanged(params.sceneVersion,params.prop
erties,_viewListenerOnPropertiesChangedResponseParamsFactory); | 1036 _impl.onPropertiesChanged(params.sceneVersion, params.properties, _viewL
istenerOnPropertiesChangedResponseParamsResponder(message.header.requestId)); |
1014 if (response is Future) { | |
1015 return response.then((response) { | |
1016 if (response != null) { | |
1017 return buildResponseWithId( | |
1018 response, | |
1019 _viewListenerMethodOnPropertiesChangedName, | |
1020 message.header.requestId, | |
1021 bindings.MessageHeader.kMessageIsResponse); | |
1022 } | |
1023 }); | |
1024 } else if (response != null) { | |
1025 return buildResponseWithId( | |
1026 response, | |
1027 _viewListenerMethodOnPropertiesChangedName, | |
1028 message.header.requestId, | |
1029 bindings.MessageHeader.kMessageIsResponse); | |
1030 } | |
1031 break; | 1037 break; |
1032 default: | 1038 default: |
1033 throw new bindings.MojoCodecError("Unexpected message name"); | 1039 throw new bindings.MojoCodecError("Unexpected message name"); |
1034 break; | 1040 break; |
1035 } | 1041 } |
1036 return null; | |
1037 } | 1042 } |
1038 | 1043 |
1039 ViewListener get impl => _impl; | 1044 ViewListener get impl => _impl; |
1040 set impl(ViewListener d) { | 1045 set impl(ViewListener d) { |
1041 if (d == null) { | 1046 if (d == null) { |
1042 throw new core.MojoApiError("$this: Cannot set a null implementation"); | 1047 throw new core.MojoApiError("$this: Cannot set a null implementation"); |
1043 } | 1048 } |
1044 if (isBound && (_impl == null)) { | 1049 if (isBound && (_impl == null)) { |
1045 beginHandlingEvents(); | 1050 beginHandlingEvents(); |
1046 } | 1051 } |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1080 core.MojoHandle handle, [ViewListener impl]) | 1085 core.MojoHandle handle, [ViewListener impl]) |
1081 : super(new _ViewListenerStubControl.fromHandle(handle, impl)); | 1086 : super(new _ViewListenerStubControl.fromHandle(handle, impl)); |
1082 | 1087 |
1083 static ViewListenerStub newFromEndpoint( | 1088 static ViewListenerStub newFromEndpoint( |
1084 core.MojoMessagePipeEndpoint endpoint) { | 1089 core.MojoMessagePipeEndpoint endpoint) { |
1085 assert(endpoint.setDescription("For ViewListenerStub")); | 1090 assert(endpoint.setDescription("For ViewListenerStub")); |
1086 return new ViewListenerStub.fromEndpoint(endpoint); | 1091 return new ViewListenerStub.fromEndpoint(endpoint); |
1087 } | 1092 } |
1088 | 1093 |
1089 | 1094 |
1090 dynamic onPropertiesChanged(int sceneVersion,view_properties_mojom.ViewPropert
ies properties,[Function responseFactory = null]) { | 1095 void onPropertiesChanged(int sceneVersion,view_properties_mojom.ViewProperties
properties,void callback()) { |
1091 return impl.onPropertiesChanged(sceneVersion,properties,responseFactory); | 1096 return impl.onPropertiesChanged(sceneVersion,properties,callback); |
1092 } | 1097 } |
1093 } | 1098 } |
1094 | 1099 |
1095 | 1100 |
1096 | 1101 |
OLD | NEW |