| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| // WARNING: This file is machine generated by fidlgen. |
| |
| library fidl_test_name; |
| |
| import 'dart:async'; |
| import 'dart:typed_data'; |
| |
| import 'package:fidl/fidl.dart' as $fidl; |
| import 'package:meta/meta.dart'; |
| import 'package:zircon/zircon.dart'; |
| |
| // These imports improve deduplication by making uses of {fidl.dart}, |
| // {fidl_async.dart} and {fidl.dart, fidl_async.dart} generate equivalent |
| // packages. In AOT, the dead code will be removed by tree shaking. |
| // ignore: unused_import |
| import 'fidl_async.dart' as $strongly_connect_async; |
| |
| // ignore_for_file: always_specify_types |
| // ignore_for_file: avoid_positional_boolean_parameters |
| // ignore_for_file: avoid_returning_null |
| // ignore_for_file: cascade_invocations |
| // ignore_for_file: constant_identifier_names |
| // ignore_for_file: one_member_abstracts |
| // ignore_for_file: prefer_constructors_over_static_methods |
| // ignore_for_file: prefer_single_quotes |
| // ignore_for_file: public_member_api_docs |
| // ignore_for_file: unused_import |
| // ignore_for_file: unused_local_variable |
| // ignore_for_file: non_constant_identifier_names |
| // ignore_for_file: library_prefixes |
| // ignore_for_file: prefer_typing_uninitialized_variables |
| // ignore_for_file: avoid_js_rounded_ints |
| // ignore_for_file: unnecessary_parenthesis |
| // ignore_for_file: always_put_required_named_parameters_first |
| // ignore_for_file: prefer_generic_function_type_aliases |
| // ignore_for_file: prefer_equal_for_default_values |
| |
| abstract class OvernetInternalProtocol { |
| static const String $serviceName = null; |
| void methodA(int a, int b); |
| void methodB(int a, int b, void callback(int result)); |
| } |
| |
| |
| // methodA: (int a, int b) |
| const int _kOvernetInternalProtocol_MethodA_Ordinal = 1993818253; |
| const $fidl.MethodType _kOvernetInternalProtocol_MethodA_Type = const $fidl.MethodType( |
| request: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 24), |
| ], |
| response: null, |
| name: r"OvernetInternalProtocol.MethodA", |
| ); |
| // eventA: -> (int a, int b) |
| const int _kOvernetInternalProtocol_EventA_Ordinal = 1746007436; |
| const $fidl.MethodType _kOvernetInternalProtocol_EventA_Type = const $fidl.MethodType( |
| request: null, |
| response: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 24), |
| ], |
| name: r"OvernetInternalProtocol.EventA", |
| ); |
| // methodB: (int a, int b) -> (int result) |
| const int _kOvernetInternalProtocol_MethodB_Ordinal = 952134976; |
| const $fidl.MethodType _kOvernetInternalProtocol_MethodB_Type = const $fidl.MethodType( |
| request: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 24), |
| ], |
| response: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| ], |
| name: r"OvernetInternalProtocol.MethodB", |
| ); |
| |
| |
| typedef void OvernetInternalProtocolEventACallback(int a, int b); |
| |
| class OvernetInternalProtocolProxy extends $fidl.Proxy<OvernetInternalProtocol> |
| implements OvernetInternalProtocol { |
| |
| OvernetInternalProtocolProxy() : super(new $fidl.ProxyController<OvernetInternalProtocol>($serviceName: null, $interfaceName: r'OvernetInternalProtocol')) { |
| ctrl.onResponse = _handleResponse; |
| } |
| |
| void _handleEvent($fidl.Message $message) { |
| final $fidl.Decoder $decoder = new $fidl.Decoder($message); |
| switch ($message.ordinal) { |
| case _kOvernetInternalProtocol_EventA_Ordinal: |
| try { |
| final Function $callback = eventA; |
| if ($callback == null) { |
| $message.closeHandles(); |
| return; |
| } |
| final List<$fidl.MemberType> $types = _kOvernetInternalProtocol_EventA_Type.response; |
| $decoder.claimMemory(32); |
| $callback( |
| $types[0].decode($decoder, 0), |
| $types[1].decode($decoder, 0), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| final String _name = _kOvernetInternalProtocol_EventA_Type.name; |
| ctrl.proxyError('Exception handling event $_name: $_e'); |
| ctrl.close(); |
| rethrow; |
| } |
| break; |
| default: |
| ctrl.proxyError('Unexpected message ordinal: ${$message.ordinal}'); |
| ctrl.close(); |
| break; |
| } |
| } |
| |
| void _handleResponse($fidl.Message $message) { |
| final int $txid = $message.txid; |
| if ($txid == 0) { |
| _handleEvent($message); |
| return; |
| } |
| final Function $callback = ctrl.getCallback($txid); |
| if ($callback == null) { |
| $message.closeHandles(); |
| return; |
| } |
| final $fidl.Decoder $decoder = new $fidl.Decoder($message); |
| switch ($message.ordinal) { |
| case _kOvernetInternalProtocol_MethodB_Ordinal: |
| try { |
| final List<$fidl.MemberType> $types = _kOvernetInternalProtocol_MethodB_Type.response; |
| $decoder.claimMemory(24); |
| $callback( |
| $types[0].decode($decoder, 0), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| final String _name = _kOvernetInternalProtocol_MethodB_Type.name; |
| ctrl.proxyError('Exception handling method response $_name: $_e'); |
| ctrl.close(); |
| rethrow; |
| } |
| break; |
| default: |
| ctrl.proxyError('Unexpected message ordinal: ${$message.ordinal}'); |
| ctrl.close(); |
| break; |
| } |
| } |
| @override |
| void methodA(int a, int b) { |
| if (!ctrl.isBound) { |
| ctrl.proxyError('The proxy is closed.'); |
| return; |
| } |
| |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kOvernetInternalProtocol_MethodA_Ordinal, 0); |
| $encoder.alloc(32 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kOvernetInternalProtocol_MethodA_Type.request; |
| $types[0].encode($encoder, a, 0); |
| $types[1].encode($encoder, b, 0); |
| ctrl.sendMessage($encoder.message); |
| } |
| OvernetInternalProtocolEventACallback eventA; |
| @override |
| void methodB(int a, int b, void callback(int result)) { |
| if (!ctrl.isBound) { |
| ctrl.proxyError('The proxy is closed.'); |
| return; |
| } |
| |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kOvernetInternalProtocol_MethodB_Ordinal, 0); |
| $encoder.alloc(32 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kOvernetInternalProtocol_MethodB_Type.request; |
| $types[0].encode($encoder, a, 0); |
| $types[1].encode($encoder, b, 0); |
| Function $zonedCallback; |
| if ((callback == null) || identical(Zone.current, Zone.root)) { |
| $zonedCallback = callback; |
| } else { |
| Zone $z = Zone.current; |
| $zonedCallback = ((int result) { |
| $z.bindCallback(() { |
| callback(result,); |
| })(); |
| }); |
| } |
| ctrl.sendMessageWithResponse($encoder.message, $zonedCallback); |
| } |
| } |
| |
| class OvernetInternalProtocolEvents { |
| $fidl.Binding<OvernetInternalProtocol> _binding; |
| void eventA(int a, int b) |
| { |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kOvernetInternalProtocol_EventA_Ordinal, 0); |
| $encoder.alloc(32 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kOvernetInternalProtocol_EventA_Type.response; |
| $types[0].encode($encoder, a, 0); |
| $types[1].encode($encoder, b, 0); |
| _binding.sendMessage($encoder.message); |
| } |
| } |
| |
| class OvernetInternalProtocolBinding extends $fidl.Binding<OvernetInternalProtocol> { |
| OvernetInternalProtocolBinding() { |
| events._binding = this; |
| } |
| |
| final OvernetInternalProtocolEvents events = new OvernetInternalProtocolEvents(); |
| |
| |
| Function _methodBResponder($fidl.MessageSink $respond, int $txid) { |
| return (int result) { |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kOvernetInternalProtocol_MethodB_Ordinal, $txid); |
| $encoder.alloc(24 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kOvernetInternalProtocol_MethodB_Type.response; |
| $types[0].encode($encoder, result, 0); |
| $respond($encoder.message); |
| }; |
| } |
| |
| @override |
| void handleMessage($fidl.Message $message, $fidl.MessageSink $respond) { |
| final $fidl.Decoder $decoder = new $fidl.Decoder($message); |
| switch ($message.ordinal) { |
| case _kOvernetInternalProtocol_MethodA_Ordinal: |
| try { |
| final List<$fidl.MemberType> $types = _kOvernetInternalProtocol_MethodA_Type.request; |
| $decoder.claimMemory(32); |
| impl.methodA( |
| $types[0].decode($decoder, 0), |
| $types[1].decode($decoder, 0), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| close(); |
| final String _name = _kOvernetInternalProtocol_MethodA_Type.name; |
| print('Exception handling method call $_name: $_e'); |
| rethrow; |
| } |
| break; |
| case _kOvernetInternalProtocol_MethodB_Ordinal: |
| try { |
| final List<$fidl.MemberType> $types = _kOvernetInternalProtocol_MethodB_Type.request; |
| $decoder.claimMemory(32); |
| impl.methodB( |
| $types[0].decode($decoder, 0), |
| $types[1].decode($decoder, 0), |
| _methodBResponder($respond, $message.txid), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| close(); |
| final String _name = _kOvernetInternalProtocol_MethodB_Type.name; |
| print('Exception handling method call $_name: $_e'); |
| rethrow; |
| } |
| break; |
| default: |
| throw new $fidl.FidlError('Unexpected message name for OvernetInternalProtocolBinding'); |
| } |
| } |
| } |
| |
| |
| abstract class SocketControlProtocol { |
| static const String $serviceName = null; |
| void methodA(int a, int b); |
| void methodB(int a, int b, void callback(int result)); |
| } |
| |
| |
| // methodA: (int a, int b) |
| const int _kSocketControlProtocol_MethodA_Ordinal = 1007842318; |
| const $fidl.MethodType _kSocketControlProtocol_MethodA_Type = const $fidl.MethodType( |
| request: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 24), |
| ], |
| response: null, |
| name: r"SocketControlProtocol.MethodA", |
| ); |
| // eventA: -> (int a, int b) |
| const int _kSocketControlProtocol_EventA_Ordinal = 955483393; |
| const $fidl.MethodType _kSocketControlProtocol_EventA_Type = const $fidl.MethodType( |
| request: null, |
| response: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 24), |
| ], |
| name: r"SocketControlProtocol.EventA", |
| ); |
| // methodB: (int a, int b) -> (int result) |
| const int _kSocketControlProtocol_MethodB_Ordinal = 677342235; |
| const $fidl.MethodType _kSocketControlProtocol_MethodB_Type = const $fidl.MethodType( |
| request: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 24), |
| ], |
| response: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| ], |
| name: r"SocketControlProtocol.MethodB", |
| ); |
| |
| |
| typedef void SocketControlProtocolEventACallback(int a, int b); |
| |
| class SocketControlProtocolProxy extends $fidl.Proxy<SocketControlProtocol> |
| implements SocketControlProtocol { |
| |
| SocketControlProtocolProxy() : super(new $fidl.ProxyController<SocketControlProtocol>($serviceName: null, $interfaceName: r'SocketControlProtocol')) { |
| ctrl.onResponse = _handleResponse; |
| } |
| |
| void _handleEvent($fidl.Message $message) { |
| final $fidl.Decoder $decoder = new $fidl.Decoder($message); |
| switch ($message.ordinal) { |
| case _kSocketControlProtocol_EventA_Ordinal: |
| try { |
| final Function $callback = eventA; |
| if ($callback == null) { |
| $message.closeHandles(); |
| return; |
| } |
| final List<$fidl.MemberType> $types = _kSocketControlProtocol_EventA_Type.response; |
| $decoder.claimMemory(32); |
| $callback( |
| $types[0].decode($decoder, 0), |
| $types[1].decode($decoder, 0), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| final String _name = _kSocketControlProtocol_EventA_Type.name; |
| ctrl.proxyError('Exception handling event $_name: $_e'); |
| ctrl.close(); |
| rethrow; |
| } |
| break; |
| default: |
| ctrl.proxyError('Unexpected message ordinal: ${$message.ordinal}'); |
| ctrl.close(); |
| break; |
| } |
| } |
| |
| void _handleResponse($fidl.Message $message) { |
| final int $txid = $message.txid; |
| if ($txid == 0) { |
| _handleEvent($message); |
| return; |
| } |
| final Function $callback = ctrl.getCallback($txid); |
| if ($callback == null) { |
| $message.closeHandles(); |
| return; |
| } |
| final $fidl.Decoder $decoder = new $fidl.Decoder($message); |
| switch ($message.ordinal) { |
| case _kSocketControlProtocol_MethodB_Ordinal: |
| try { |
| final List<$fidl.MemberType> $types = _kSocketControlProtocol_MethodB_Type.response; |
| $decoder.claimMemory(24); |
| $callback( |
| $types[0].decode($decoder, 0), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| final String _name = _kSocketControlProtocol_MethodB_Type.name; |
| ctrl.proxyError('Exception handling method response $_name: $_e'); |
| ctrl.close(); |
| rethrow; |
| } |
| break; |
| default: |
| ctrl.proxyError('Unexpected message ordinal: ${$message.ordinal}'); |
| ctrl.close(); |
| break; |
| } |
| } |
| @override |
| void methodA(int a, int b) { |
| if (!ctrl.isBound) { |
| ctrl.proxyError('The proxy is closed.'); |
| return; |
| } |
| |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kSocketControlProtocol_MethodA_Ordinal, 0); |
| $encoder.alloc(32 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kSocketControlProtocol_MethodA_Type.request; |
| $types[0].encode($encoder, a, 0); |
| $types[1].encode($encoder, b, 0); |
| ctrl.sendMessage($encoder.message); |
| } |
| SocketControlProtocolEventACallback eventA; |
| @override |
| void methodB(int a, int b, void callback(int result)) { |
| if (!ctrl.isBound) { |
| ctrl.proxyError('The proxy is closed.'); |
| return; |
| } |
| |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kSocketControlProtocol_MethodB_Ordinal, 0); |
| $encoder.alloc(32 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kSocketControlProtocol_MethodB_Type.request; |
| $types[0].encode($encoder, a, 0); |
| $types[1].encode($encoder, b, 0); |
| Function $zonedCallback; |
| if ((callback == null) || identical(Zone.current, Zone.root)) { |
| $zonedCallback = callback; |
| } else { |
| Zone $z = Zone.current; |
| $zonedCallback = ((int result) { |
| $z.bindCallback(() { |
| callback(result,); |
| })(); |
| }); |
| } |
| ctrl.sendMessageWithResponse($encoder.message, $zonedCallback); |
| } |
| } |
| |
| class SocketControlProtocolEvents { |
| $fidl.Binding<SocketControlProtocol> _binding; |
| void eventA(int a, int b) |
| { |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kSocketControlProtocol_EventA_Ordinal, 0); |
| $encoder.alloc(32 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kSocketControlProtocol_EventA_Type.response; |
| $types[0].encode($encoder, a, 0); |
| $types[1].encode($encoder, b, 0); |
| _binding.sendMessage($encoder.message); |
| } |
| } |
| |
| class SocketControlProtocolBinding extends $fidl.Binding<SocketControlProtocol> { |
| SocketControlProtocolBinding() { |
| events._binding = this; |
| } |
| |
| final SocketControlProtocolEvents events = new SocketControlProtocolEvents(); |
| |
| |
| Function _methodBResponder($fidl.MessageSink $respond, int $txid) { |
| return (int result) { |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kSocketControlProtocol_MethodB_Ordinal, $txid); |
| $encoder.alloc(24 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kSocketControlProtocol_MethodB_Type.response; |
| $types[0].encode($encoder, result, 0); |
| $respond($encoder.message); |
| }; |
| } |
| |
| @override |
| void handleMessage($fidl.Message $message, $fidl.MessageSink $respond) { |
| final $fidl.Decoder $decoder = new $fidl.Decoder($message); |
| switch ($message.ordinal) { |
| case _kSocketControlProtocol_MethodA_Ordinal: |
| try { |
| final List<$fidl.MemberType> $types = _kSocketControlProtocol_MethodA_Type.request; |
| $decoder.claimMemory(32); |
| impl.methodA( |
| $types[0].decode($decoder, 0), |
| $types[1].decode($decoder, 0), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| close(); |
| final String _name = _kSocketControlProtocol_MethodA_Type.name; |
| print('Exception handling method call $_name: $_e'); |
| rethrow; |
| } |
| break; |
| case _kSocketControlProtocol_MethodB_Ordinal: |
| try { |
| final List<$fidl.MemberType> $types = _kSocketControlProtocol_MethodB_Type.request; |
| $decoder.claimMemory(32); |
| impl.methodB( |
| $types[0].decode($decoder, 0), |
| $types[1].decode($decoder, 0), |
| _methodBResponder($respond, $message.txid), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| close(); |
| final String _name = _kSocketControlProtocol_MethodB_Type.name; |
| print('Exception handling method call $_name: $_e'); |
| rethrow; |
| } |
| break; |
| default: |
| throw new $fidl.FidlError('Unexpected message name for SocketControlProtocolBinding'); |
| } |
| } |
| } |
| |
| |
| abstract class ChannelProtocol { |
| static const String $serviceName = null; |
| void methodA(int a, int b); |
| void methodB(int a, int b, void callback(int result)); |
| } |
| |
| |
| // methodA: (int a, int b) |
| const int _kChannelProtocol_MethodA_Ordinal = 1432785874; |
| const $fidl.MethodType _kChannelProtocol_MethodA_Type = const $fidl.MethodType( |
| request: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 24), |
| ], |
| response: null, |
| name: r"ChannelProtocol.MethodA", |
| ); |
| // eventA: -> (int a, int b) |
| const int _kChannelProtocol_EventA_Ordinal = 477676034; |
| const $fidl.MethodType _kChannelProtocol_EventA_Type = const $fidl.MethodType( |
| request: null, |
| response: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 24), |
| ], |
| name: r"ChannelProtocol.EventA", |
| ); |
| // methodB: (int a, int b) -> (int result) |
| const int _kChannelProtocol_MethodB_Ordinal = 180770075; |
| const $fidl.MethodType _kChannelProtocol_MethodB_Type = const $fidl.MethodType( |
| request: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 24), |
| ], |
| response: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| ], |
| name: r"ChannelProtocol.MethodB", |
| ); |
| |
| |
| typedef void ChannelProtocolEventACallback(int a, int b); |
| |
| class ChannelProtocolProxy extends $fidl.Proxy<ChannelProtocol> |
| implements ChannelProtocol { |
| |
| ChannelProtocolProxy() : super(new $fidl.ProxyController<ChannelProtocol>($serviceName: null, $interfaceName: r'ChannelProtocol')) { |
| ctrl.onResponse = _handleResponse; |
| } |
| |
| void _handleEvent($fidl.Message $message) { |
| final $fidl.Decoder $decoder = new $fidl.Decoder($message); |
| switch ($message.ordinal) { |
| case _kChannelProtocol_EventA_Ordinal: |
| try { |
| final Function $callback = eventA; |
| if ($callback == null) { |
| $message.closeHandles(); |
| return; |
| } |
| final List<$fidl.MemberType> $types = _kChannelProtocol_EventA_Type.response; |
| $decoder.claimMemory(32); |
| $callback( |
| $types[0].decode($decoder, 0), |
| $types[1].decode($decoder, 0), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| final String _name = _kChannelProtocol_EventA_Type.name; |
| ctrl.proxyError('Exception handling event $_name: $_e'); |
| ctrl.close(); |
| rethrow; |
| } |
| break; |
| default: |
| ctrl.proxyError('Unexpected message ordinal: ${$message.ordinal}'); |
| ctrl.close(); |
| break; |
| } |
| } |
| |
| void _handleResponse($fidl.Message $message) { |
| final int $txid = $message.txid; |
| if ($txid == 0) { |
| _handleEvent($message); |
| return; |
| } |
| final Function $callback = ctrl.getCallback($txid); |
| if ($callback == null) { |
| $message.closeHandles(); |
| return; |
| } |
| final $fidl.Decoder $decoder = new $fidl.Decoder($message); |
| switch ($message.ordinal) { |
| case _kChannelProtocol_MethodB_Ordinal: |
| try { |
| final List<$fidl.MemberType> $types = _kChannelProtocol_MethodB_Type.response; |
| $decoder.claimMemory(24); |
| $callback( |
| $types[0].decode($decoder, 0), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| final String _name = _kChannelProtocol_MethodB_Type.name; |
| ctrl.proxyError('Exception handling method response $_name: $_e'); |
| ctrl.close(); |
| rethrow; |
| } |
| break; |
| default: |
| ctrl.proxyError('Unexpected message ordinal: ${$message.ordinal}'); |
| ctrl.close(); |
| break; |
| } |
| } |
| @override |
| void methodA(int a, int b) { |
| if (!ctrl.isBound) { |
| ctrl.proxyError('The proxy is closed.'); |
| return; |
| } |
| |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kChannelProtocol_MethodA_Ordinal, 0); |
| $encoder.alloc(32 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kChannelProtocol_MethodA_Type.request; |
| $types[0].encode($encoder, a, 0); |
| $types[1].encode($encoder, b, 0); |
| ctrl.sendMessage($encoder.message); |
| } |
| ChannelProtocolEventACallback eventA; |
| @override |
| void methodB(int a, int b, void callback(int result)) { |
| if (!ctrl.isBound) { |
| ctrl.proxyError('The proxy is closed.'); |
| return; |
| } |
| |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kChannelProtocol_MethodB_Ordinal, 0); |
| $encoder.alloc(32 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kChannelProtocol_MethodB_Type.request; |
| $types[0].encode($encoder, a, 0); |
| $types[1].encode($encoder, b, 0); |
| Function $zonedCallback; |
| if ((callback == null) || identical(Zone.current, Zone.root)) { |
| $zonedCallback = callback; |
| } else { |
| Zone $z = Zone.current; |
| $zonedCallback = ((int result) { |
| $z.bindCallback(() { |
| callback(result,); |
| })(); |
| }); |
| } |
| ctrl.sendMessageWithResponse($encoder.message, $zonedCallback); |
| } |
| } |
| |
| class ChannelProtocolEvents { |
| $fidl.Binding<ChannelProtocol> _binding; |
| void eventA(int a, int b) |
| { |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kChannelProtocol_EventA_Ordinal, 0); |
| $encoder.alloc(32 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kChannelProtocol_EventA_Type.response; |
| $types[0].encode($encoder, a, 0); |
| $types[1].encode($encoder, b, 0); |
| _binding.sendMessage($encoder.message); |
| } |
| } |
| |
| class ChannelProtocolBinding extends $fidl.Binding<ChannelProtocol> { |
| ChannelProtocolBinding() { |
| events._binding = this; |
| } |
| |
| final ChannelProtocolEvents events = new ChannelProtocolEvents(); |
| |
| |
| Function _methodBResponder($fidl.MessageSink $respond, int $txid) { |
| return (int result) { |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kChannelProtocol_MethodB_Ordinal, $txid); |
| $encoder.alloc(24 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kChannelProtocol_MethodB_Type.response; |
| $types[0].encode($encoder, result, 0); |
| $respond($encoder.message); |
| }; |
| } |
| |
| @override |
| void handleMessage($fidl.Message $message, $fidl.MessageSink $respond) { |
| final $fidl.Decoder $decoder = new $fidl.Decoder($message); |
| switch ($message.ordinal) { |
| case _kChannelProtocol_MethodA_Ordinal: |
| try { |
| final List<$fidl.MemberType> $types = _kChannelProtocol_MethodA_Type.request; |
| $decoder.claimMemory(32); |
| impl.methodA( |
| $types[0].decode($decoder, 0), |
| $types[1].decode($decoder, 0), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| close(); |
| final String _name = _kChannelProtocol_MethodA_Type.name; |
| print('Exception handling method call $_name: $_e'); |
| rethrow; |
| } |
| break; |
| case _kChannelProtocol_MethodB_Ordinal: |
| try { |
| final List<$fidl.MemberType> $types = _kChannelProtocol_MethodB_Type.request; |
| $decoder.claimMemory(32); |
| impl.methodB( |
| $types[0].decode($decoder, 0), |
| $types[1].decode($decoder, 0), |
| _methodBResponder($respond, $message.txid), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| close(); |
| final String _name = _kChannelProtocol_MethodB_Type.name; |
| print('Exception handling method call $_name: $_e'); |
| rethrow; |
| } |
| break; |
| default: |
| throw new $fidl.FidlError('Unexpected message name for ChannelProtocolBinding'); |
| } |
| } |
| } |
| |
| |
| abstract class KitchenSink { |
| static const String $serviceName = null; |
| void methodA(int a, int b); |
| void methodB(int a, int b, void callback(int result)); |
| } |
| |
| |
| // methodA: (int a, int b) |
| const int _kKitchenSink_MethodA_Ordinal = 450577456; |
| const $fidl.MethodType _kKitchenSink_MethodA_Type = const $fidl.MethodType( |
| request: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 24), |
| ], |
| response: null, |
| name: r"KitchenSink.MethodA", |
| ); |
| // eventA: -> (int a, int b) |
| const int _kKitchenSink_EventA_Ordinal = 1795426833; |
| const $fidl.MethodType _kKitchenSink_EventA_Type = const $fidl.MethodType( |
| request: null, |
| response: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 24), |
| ], |
| name: r"KitchenSink.EventA", |
| ); |
| // methodB: (int a, int b) -> (int result) |
| const int _kKitchenSink_MethodB_Ordinal = 1999489700; |
| const $fidl.MethodType _kKitchenSink_MethodB_Type = const $fidl.MethodType( |
| request: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 24), |
| ], |
| response: const <$fidl.MemberType>[ |
| const $fidl.MemberType<int>(type: const $fidl.Int64Type(), offset: 16), |
| ], |
| name: r"KitchenSink.MethodB", |
| ); |
| |
| |
| typedef void KitchenSinkEventACallback(int a, int b); |
| |
| class KitchenSinkProxy extends $fidl.Proxy<KitchenSink> |
| implements KitchenSink { |
| |
| KitchenSinkProxy() : super(new $fidl.ProxyController<KitchenSink>($serviceName: null, $interfaceName: r'KitchenSink')) { |
| ctrl.onResponse = _handleResponse; |
| } |
| |
| void _handleEvent($fidl.Message $message) { |
| final $fidl.Decoder $decoder = new $fidl.Decoder($message); |
| switch ($message.ordinal) { |
| case _kKitchenSink_EventA_Ordinal: |
| try { |
| final Function $callback = eventA; |
| if ($callback == null) { |
| $message.closeHandles(); |
| return; |
| } |
| final List<$fidl.MemberType> $types = _kKitchenSink_EventA_Type.response; |
| $decoder.claimMemory(32); |
| $callback( |
| $types[0].decode($decoder, 0), |
| $types[1].decode($decoder, 0), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| final String _name = _kKitchenSink_EventA_Type.name; |
| ctrl.proxyError('Exception handling event $_name: $_e'); |
| ctrl.close(); |
| rethrow; |
| } |
| break; |
| default: |
| ctrl.proxyError('Unexpected message ordinal: ${$message.ordinal}'); |
| ctrl.close(); |
| break; |
| } |
| } |
| |
| void _handleResponse($fidl.Message $message) { |
| final int $txid = $message.txid; |
| if ($txid == 0) { |
| _handleEvent($message); |
| return; |
| } |
| final Function $callback = ctrl.getCallback($txid); |
| if ($callback == null) { |
| $message.closeHandles(); |
| return; |
| } |
| final $fidl.Decoder $decoder = new $fidl.Decoder($message); |
| switch ($message.ordinal) { |
| case _kKitchenSink_MethodB_Ordinal: |
| try { |
| final List<$fidl.MemberType> $types = _kKitchenSink_MethodB_Type.response; |
| $decoder.claimMemory(24); |
| $callback( |
| $types[0].decode($decoder, 0), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| final String _name = _kKitchenSink_MethodB_Type.name; |
| ctrl.proxyError('Exception handling method response $_name: $_e'); |
| ctrl.close(); |
| rethrow; |
| } |
| break; |
| default: |
| ctrl.proxyError('Unexpected message ordinal: ${$message.ordinal}'); |
| ctrl.close(); |
| break; |
| } |
| } |
| @override |
| void methodA(int a, int b) { |
| if (!ctrl.isBound) { |
| ctrl.proxyError('The proxy is closed.'); |
| return; |
| } |
| |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kKitchenSink_MethodA_Ordinal, 0); |
| $encoder.alloc(32 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kKitchenSink_MethodA_Type.request; |
| $types[0].encode($encoder, a, 0); |
| $types[1].encode($encoder, b, 0); |
| ctrl.sendMessage($encoder.message); |
| } |
| KitchenSinkEventACallback eventA; |
| @override |
| void methodB(int a, int b, void callback(int result)) { |
| if (!ctrl.isBound) { |
| ctrl.proxyError('The proxy is closed.'); |
| return; |
| } |
| |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kKitchenSink_MethodB_Ordinal, 0); |
| $encoder.alloc(32 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kKitchenSink_MethodB_Type.request; |
| $types[0].encode($encoder, a, 0); |
| $types[1].encode($encoder, b, 0); |
| Function $zonedCallback; |
| if ((callback == null) || identical(Zone.current, Zone.root)) { |
| $zonedCallback = callback; |
| } else { |
| Zone $z = Zone.current; |
| $zonedCallback = ((int result) { |
| $z.bindCallback(() { |
| callback(result,); |
| })(); |
| }); |
| } |
| ctrl.sendMessageWithResponse($encoder.message, $zonedCallback); |
| } |
| } |
| |
| class KitchenSinkEvents { |
| $fidl.Binding<KitchenSink> _binding; |
| void eventA(int a, int b) |
| { |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kKitchenSink_EventA_Ordinal, 0); |
| $encoder.alloc(32 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kKitchenSink_EventA_Type.response; |
| $types[0].encode($encoder, a, 0); |
| $types[1].encode($encoder, b, 0); |
| _binding.sendMessage($encoder.message); |
| } |
| } |
| |
| class KitchenSinkBinding extends $fidl.Binding<KitchenSink> { |
| KitchenSinkBinding() { |
| events._binding = this; |
| } |
| |
| final KitchenSinkEvents events = new KitchenSinkEvents(); |
| |
| |
| Function _methodBResponder($fidl.MessageSink $respond, int $txid) { |
| return (int result) { |
| final $fidl.Encoder $encoder = new $fidl.Encoder(); |
| $encoder.encodeMessageHeader(_kKitchenSink_MethodB_Ordinal, $txid); |
| $encoder.alloc(24 - $fidl.kMessageHeaderSize); |
| final List<$fidl.MemberType> $types = _kKitchenSink_MethodB_Type.response; |
| $types[0].encode($encoder, result, 0); |
| $respond($encoder.message); |
| }; |
| } |
| |
| @override |
| void handleMessage($fidl.Message $message, $fidl.MessageSink $respond) { |
| final $fidl.Decoder $decoder = new $fidl.Decoder($message); |
| switch ($message.ordinal) { |
| case _kKitchenSink_MethodA_Ordinal: |
| try { |
| final List<$fidl.MemberType> $types = _kKitchenSink_MethodA_Type.request; |
| $decoder.claimMemory(32); |
| impl.methodA( |
| $types[0].decode($decoder, 0), |
| $types[1].decode($decoder, 0), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| close(); |
| final String _name = _kKitchenSink_MethodA_Type.name; |
| print('Exception handling method call $_name: $_e'); |
| rethrow; |
| } |
| break; |
| case _kKitchenSink_MethodB_Ordinal: |
| try { |
| final List<$fidl.MemberType> $types = _kKitchenSink_MethodB_Type.request; |
| $decoder.claimMemory(32); |
| impl.methodB( |
| $types[0].decode($decoder, 0), |
| $types[1].decode($decoder, 0), |
| _methodBResponder($respond, $message.txid), |
| ); |
| // ignore: avoid_catches_without_on_clauses |
| } catch(_e) { |
| close(); |
| final String _name = _kKitchenSink_MethodB_Type.name; |
| print('Exception handling method call $_name: $_e'); |
| rethrow; |
| } |
| break; |
| default: |
| throw new $fidl.FidlError('Unexpected message name for KitchenSinkBinding'); |
| } |
| } |
| } |
| |
| |