blob: 9daa7d760e340ba3b81f483095f79ba79a76760f [file] [log] [blame]
// 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');
}
}
}