blob: a71b2c3b5eef762380c4ddabfb3031c9e04260fe [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen.
// @dart = 2.12
// fidl_experiment = no_optional_structs
// fidl_experiment = output_index_json
// fidl_experiment = simple_empty_response_syntax
// fidl_experiment = unknown_interactions
// fidl_experiment = unknown_interactions_mandate
library fidl_test_anonymous_async;
import 'dart:async' as $async;
import 'dart:core' hide Set;
import 'dart:developer';
import 'dart:typed_data';
import 'package:fidl/fidl.dart' as $fidl;
import 'package:meta/meta.dart';
import 'package:zircon/zircon.dart' as $zircon;
// 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: directives_ordering
// 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
// ignore_for_file: avoid_catches_without_on_clauses
// ignore_for_file: unused_shown_name
// ignore_for_file: unnecessary_lambdas
// ignore_for_file: comment_references
// ignore_for_file: avoid_unused_constructor_parameters
// ignore_for_file: prefer_interpolation_to_compose_strings
// ignore_for_file: override_on_non_overriding_member
class Op extends $fidl.Enum {
static final Map<int, Op> _values = {
0x1: add,
0x2: mul,
0x3: div,
};
factory Op(int _v) {
if (!_values.containsKey(_v)) {
_values[_v] = Op._(_v, true);
}
return _values[_v]!;
}
static const Op add = Op._(0x1, false);
static const Op mul = Op._(0x2, false);
static const Op div = Op._(0x3, false);
/// Default unknown placeholder.
static const Op $unknown = Op._(0xffffffff, true);
const Op._(this.$value, this._isUnknown);
@override
final int $value;
final bool _isUnknown;
static const Map<String, Op> $valuesMap = {
r'add': add,
r'mul': mul,
r'div': div,
};
static const List<Op> $values = [
add,
mul,
div,
];
static Op? $valueOf(String name) => $valuesMap[name];
@override
bool isUnknown() {
return _isUnknown;
}
static Op _ctor(int v) => Op(v);
}
const $fidl.EnumType<Op> kOp_Type = $fidl.EnumType<Op>(
type: $fidl.Uint32Type(),
values: {0x1: null, 0x2: null, 0x3: null},
ctor: Op._ctor);
class SomeProtocolSomeMethodError extends $fidl.Enum {
static final Map<int, SomeProtocolSomeMethodError> _values = {
0x1: errorOne,
0x2: errorTwo,
};
factory SomeProtocolSomeMethodError(int _v) {
if (!_values.containsKey(_v)) {
_values[_v] = SomeProtocolSomeMethodError._(_v, true);
}
return _values[_v]!;
}
static const SomeProtocolSomeMethodError errorOne =
SomeProtocolSomeMethodError._(0x1, false);
static const SomeProtocolSomeMethodError errorTwo =
SomeProtocolSomeMethodError._(0x2, false);
/// Default unknown placeholder.
static const SomeProtocolSomeMethodError $unknown =
SomeProtocolSomeMethodError._(0xffffffff, true);
const SomeProtocolSomeMethodError._(this.$value, this._isUnknown);
@override
final int $value;
final bool _isUnknown;
static const Map<String, SomeProtocolSomeMethodError> $valuesMap = {
r'errorOne': errorOne,
r'errorTwo': errorTwo,
};
static const List<SomeProtocolSomeMethodError> $values = [
errorOne,
errorTwo,
];
static SomeProtocolSomeMethodError? $valueOf(String name) => $valuesMap[name];
@override
bool isUnknown() {
return _isUnknown;
}
static SomeProtocolSomeMethodError _ctor(int v) =>
SomeProtocolSomeMethodError(v);
}
const $fidl.EnumType<SomeProtocolSomeMethodError>
kSomeProtocol_SomeMethod_Error_Type =
$fidl.EnumType<SomeProtocolSomeMethodError>(
type: $fidl.Uint32Type(),
values: {0x1: null, 0x2: null},
ctor: SomeProtocolSomeMethodError._ctor);
class BitsMember extends $fidl.Bits {
factory BitsMember(int _v) {
return BitsMember._(_v);
}
static const BitsMember bitOne = BitsMember._(0x1);
static const BitsMember bitTwo = BitsMember._(0x2);
static const BitsMember $none = BitsMember._(0);
static const BitsMember $mask = BitsMember._(0x3);
const BitsMember._(this.$value);
BitsMember operator |(BitsMember other) {
return BitsMember._($value | other.$value);
}
BitsMember operator &(BitsMember other) {
return BitsMember._($value & other.$value);
}
BitsMember operator ~() {
return BitsMember._(~$value & $mask.$value);
}
@override
final int $value;
@override
bool hasUnknownBits() {
return getUnknownBits() != 0;
}
@override
int getUnknownBits() {
return $value & ~$mask.$value;
}
static BitsMember _ctor(int v) => BitsMember(v);
}
const $fidl.BitsType<BitsMember> kBitsMember_Type = $fidl.BitsType<BitsMember>(
type: $fidl.Uint32Type(), ctor: BitsMember._ctor);
class Flags extends $fidl.Bits {
factory Flags(int _v) {
return Flags._(_v);
}
static const Flags inline = Flags._(0x1);
static const Flags $none = Flags._(0);
static const Flags $mask = Flags._(0x1);
const Flags._(this.$value);
Flags operator |(Flags other) {
return Flags._($value | other.$value);
}
Flags operator &(Flags other) {
return Flags._($value & other.$value);
}
Flags operator ~() {
return Flags._(~$value & $mask.$value);
}
@override
final int $value;
@override
bool hasUnknownBits() {
return getUnknownBits() != 0;
}
@override
int getUnknownBits() {
return $value & ~$mask.$value;
}
static Flags _ctor(int v) => Flags(v);
}
const $fidl.BitsType<Flags> kFlags_Type =
$fidl.BitsType<Flags>(type: $fidl.Uint16Type(), ctor: Flags._ctor);
enum ExpressionTag {
$unknown,
value, // 0x1
binOp, // 0x2
functionApplication, // 0x3
}
const Map<int, ExpressionTag> _ExpressionTag_map = {
1: ExpressionTag.value,
2: ExpressionTag.binOp,
3: ExpressionTag.functionApplication,
};
class Expression extends $fidl.Union {
const Expression.withValue(int value)
: _ordinal = 1,
_data = value;
const Expression.withBinOp(OverrideTest value)
: _ordinal = 2,
_data = value;
const Expression.withFunctionApplication(FunctionApplication value)
: _ordinal = 3,
_data = value;
const Expression.with$UnknownData(this._ordinal, $fidl.UnknownRawData data)
: _data = data;
Expression._(int ordinal, Object data)
: _ordinal = ordinal,
_data = data;
final int _ordinal;
final _data;
ExpressionTag get $tag =>
_ExpressionTag_map[_ordinal] ?? ExpressionTag.$unknown;
int? get value {
if (_ordinal != 1) {
return null;
}
return _data;
}
OverrideTest? get binOp {
if (_ordinal != 2) {
return null;
}
return _data;
}
FunctionApplication? get functionApplication {
if (_ordinal != 3) {
return null;
}
return _data;
}
$fidl.UnknownRawData? get $unknownData {
switch (_ordinal) {
case 1:
case 2:
case 3:
return null;
default:
return _data;
}
}
@override
int get $ordinal => _ordinal;
@override
Object get $data => _data;
static Expression _ctor(int ordinal, Object data) {
return Expression._(ordinal, data);
}
}
// See fxbug.dev/7644:
// ignore: recursive_compile_time_constant
const $fidl.UnionType<Expression> kExpression_Type =
$fidl.UnionType<Expression>(
members: <int, $fidl.FidlType>{
1: $fidl.Uint64Type(),
2: kOverrideTest_Type,
3: kFunctionApplication_Type,
},
ctor: Expression._ctor,
flexible: true,
resource: false,
);
// See fxbug.dev/7644:
// ignore: recursive_compile_time_constant
const $fidl.NullableUnionType<Expression> kExpression_OptType =
$fidl.NullableUnionType<Expression>(
members: <int, $fidl.FidlType>{
1: $fidl.Uint64Type(),
2: kOverrideTest_Type,
3: kFunctionApplication_Type,
},
ctor: Expression._ctor,
flexible: true,
resource: false,
);
enum SomeProtocolSomeMethodResultTag {
response, // 0x1
err, // 0x2
}
const Map<int, SomeProtocolSomeMethodResultTag>
_SomeProtocolSomeMethodResultTag_map = {
1: SomeProtocolSomeMethodResultTag.response,
2: SomeProtocolSomeMethodResultTag.err,
};
class SomeProtocolSomeMethodResult extends $fidl.Union {
const SomeProtocolSomeMethodResult.withResponse(
SomeProtocolSomeMethodResponse value)
: _ordinal = 1,
_data = value;
const SomeProtocolSomeMethodResult.withErr(SomeProtocolSomeMethodError value)
: _ordinal = 2,
_data = value;
SomeProtocolSomeMethodResult._(int ordinal, Object data)
: _ordinal = ordinal,
_data = data;
final int _ordinal;
final _data;
SomeProtocolSomeMethodResultTag get $tag =>
_SomeProtocolSomeMethodResultTag_map[_ordinal]!;
SomeProtocolSomeMethodResponse? get response {
if (_ordinal != 1) {
return null;
}
return _data;
}
SomeProtocolSomeMethodError? get err {
if (_ordinal != 2) {
return null;
}
return _data;
}
$fidl.UnknownRawData? get $unknownData {
switch (_ordinal) {
case 1:
case 2:
return null;
default:
return _data;
}
}
@override
int get $ordinal => _ordinal;
@override
Object get $data => _data;
static SomeProtocolSomeMethodResult _ctor(int ordinal, Object data) {
return SomeProtocolSomeMethodResult._(ordinal, data);
}
}
// See fxbug.dev/7644:
// ignore: recursive_compile_time_constant
const $fidl.UnionType<SomeProtocolSomeMethodResult>
kSomeProtocol_SomeMethod_Result_Type =
$fidl.UnionType<SomeProtocolSomeMethodResult>(
members: <int, $fidl.FidlType>{
1: kSomeProtocol_SomeMethod_Response_Type,
2: kSomeProtocol_SomeMethod_Error_Type,
},
ctor: SomeProtocolSomeMethodResult._ctor,
flexible: false,
resource: false,
);
// See fxbug.dev/7644:
// ignore: recursive_compile_time_constant
const $fidl.NullableUnionType<SomeProtocolSomeMethodResult>
kSomeProtocol_SomeMethod_Result_OptType =
$fidl.NullableUnionType<SomeProtocolSomeMethodResult>(
members: <int, $fidl.FidlType>{
1: kSomeProtocol_SomeMethod_Response_Type,
2: kSomeProtocol_SomeMethod_Error_Type,
},
ctor: SomeProtocolSomeMethodResult._ctor,
flexible: false,
resource: false,
);
enum UnionMemberTag {
$unknown,
unionData, // 0x2
}
const Map<int, UnionMemberTag> _UnionMemberTag_map = {
2: UnionMemberTag.unionData,
};
class UnionMember extends $fidl.Union {
const UnionMember.withUnionData(int value)
: _ordinal = 2,
_data = value;
const UnionMember.with$UnknownData(this._ordinal, $fidl.UnknownRawData data)
: _data = data;
UnionMember._(int ordinal, Object data)
: _ordinal = ordinal,
_data = data;
final int _ordinal;
final _data;
UnionMemberTag get $tag =>
_UnionMemberTag_map[_ordinal] ?? UnionMemberTag.$unknown;
int? get unionData {
if (_ordinal != 2) {
return null;
}
return _data;
}
$fidl.UnknownRawData? get $unknownData {
switch (_ordinal) {
case 2:
return null;
default:
return _data;
}
}
@override
int get $ordinal => _ordinal;
@override
Object get $data => _data;
static UnionMember _ctor(int ordinal, Object data) {
return UnionMember._(ordinal, data);
}
}
// See fxbug.dev/7644:
// ignore: recursive_compile_time_constant
const $fidl.UnionType<UnionMember> kUnionMember_Type =
$fidl.UnionType<UnionMember>(
members: <int, $fidl.FidlType>{
2: $fidl.Uint8Type(),
},
ctor: UnionMember._ctor,
flexible: true,
resource: false,
);
// See fxbug.dev/7644:
// ignore: recursive_compile_time_constant
const $fidl.NullableUnionType<UnionMember> kUnionMember_OptType =
$fidl.NullableUnionType<UnionMember>(
members: <int, $fidl.FidlType>{
2: $fidl.Uint8Type(),
},
ctor: UnionMember._ctor,
flexible: true,
resource: false,
);
class OverrideTest extends $fidl.Struct {
const OverrideTest({
required this.op,
this.left,
this.right,
});
OverrideTest.clone(
OverrideTest $orig, {
Op? op,
Expression? left,
Expression? right,
}) : this(
op: op ?? $orig.op,
left: left ?? $orig.left,
right: right ?? $orig.right,
);
OverrideTest.cloneWithout(
OverrideTest $orig, {
bool left = false,
bool right = false,
}) : this(
op: $orig.op,
left: left ? null : $orig.left,
right: right ? null : $orig.right,
);
OverrideTest $cloneWith({
Op? op,
$fidl.OptionalNullable<Expression?> left =
const $fidl.OptionalNullable.undefined(),
$fidl.OptionalNullable<Expression?> right =
const $fidl.OptionalNullable.undefined(),
}) {
return OverrideTest(
op: op ?? this.op,
left: left.or(this.left),
right: right.or(this.right),
);
}
final Op op;
final Expression? left;
final Expression? right;
@override
List<Object?> get $fields {
return <Object?>[
op,
left,
right,
];
}
static const $fieldType0 = kOp_Type;
static const $fieldType1 = kExpression_OptType;
static const $fieldType2 = kExpression_OptType;
@override
void $encode($fidl.Encoder $encoder, int $offset, int $depth) {
$fieldType0.encode($encoder, op, $offset + 0, $depth);
$fieldType1.encode($encoder, left, $offset + 8, $depth);
$fieldType2.encode($encoder, right, $offset + 24, $depth);
}
static OverrideTest _structDecode(
$fidl.Decoder $decoder, int $offset, int $depth) {
switch ($decoder.wireFormat) {
case $fidl.WireFormat.v2:
$decoder.checkPadding($offset + 4, 4);
return OverrideTest(
op: $fieldType0.decode($decoder, $offset + 0, $depth),
left: $fieldType1.decode($decoder, $offset + 8, $depth),
right: $fieldType2.decode($decoder, $offset + 24, $depth));
}
}
}
// See fxbug.dev/7644:
// ignore: recursive_compile_time_constant
const $fidl.StructType<OverrideTest> kOverrideTest_Type =
$fidl.StructType<OverrideTest>(
inlineSize: 40, structDecode: OverrideTest._structDecode);
class SomeProtocolSomeMethodResponse extends $fidl.Struct {
const SomeProtocolSomeMethodResponse({
required this.bitsMember,
});
SomeProtocolSomeMethodResponse.clone(
SomeProtocolSomeMethodResponse $orig, {
BitsMember? bitsMember,
}) : this(
bitsMember: bitsMember ?? $orig.bitsMember,
);
SomeProtocolSomeMethodResponse $cloneWith({
BitsMember? bitsMember,
}) {
return SomeProtocolSomeMethodResponse(
bitsMember: bitsMember ?? this.bitsMember,
);
}
final BitsMember bitsMember;
@override
List<Object?> get $fields {
return <Object?>[
bitsMember,
];
}
static const $fieldType0 = kBitsMember_Type;
@override
void $encode($fidl.Encoder $encoder, int $offset, int $depth) {
$fieldType0.encode($encoder, bitsMember, $offset + 0, $depth);
}
static SomeProtocolSomeMethodResponse _structDecode(
$fidl.Decoder $decoder, int $offset, int $depth) {
switch ($decoder.wireFormat) {
case $fidl.WireFormat.v2:
return SomeProtocolSomeMethodResponse(
bitsMember: $fieldType0.decode($decoder, $offset + 0, $depth));
}
}
}
// See fxbug.dev/7644:
// ignore: recursive_compile_time_constant
const $fidl.StructType<SomeProtocolSomeMethodResponse>
kSomeProtocol_SomeMethod_Response_Type =
$fidl.StructType<SomeProtocolSomeMethodResponse>(
inlineSize: 4,
structDecode: SomeProtocolSomeMethodResponse._structDecode);
class TableData extends $fidl.Struct {
const TableData({
required this.data,
});
TableData.clone(
TableData $orig, {
int? data,
}) : this(
data: data ?? $orig.data,
);
TableData $cloneWith({
int? data,
}) {
return TableData(
data: data ?? this.data,
);
}
final int data;
@override
List<Object?> get $fields {
return <Object?>[
data,
];
}
static const $fieldType0 = $fidl.Uint8Type();
@override
void $encode($fidl.Encoder $encoder, int $offset, int $depth) {
$fieldType0.encode($encoder, data, $offset + 0, $depth);
}
static TableData _structDecode(
$fidl.Decoder $decoder, int $offset, int $depth) {
switch ($decoder.wireFormat) {
case $fidl.WireFormat.v2:
return TableData(
data: $fieldType0.decode($decoder, $offset + 0, $depth));
}
}
}
// See fxbug.dev/7644:
// ignore: recursive_compile_time_constant
const $fidl.StructType<TableData> kTableData_Type = $fidl.StructType<TableData>(
inlineSize: 1, structDecode: TableData._structDecode);
class FunctionApplication extends $fidl.Table {
const FunctionApplication({
this.$unknownData,
this.func,
this.args,
this.flags,
});
FunctionApplication._(Map<int, dynamic> argv, this.$unknownData)
: func = argv[1],
args = argv[3],
flags = argv[4];
FunctionApplication $cloneWith({
$fidl.OptionalNullable<Map<int, $fidl.UnknownRawData>> $unknownData =
const $fidl.OptionalNullable.undefined(),
$fidl.OptionalNullable<String> func =
const $fidl.OptionalNullable.undefined(),
$fidl.OptionalNullable<List<Expression?>> args =
const $fidl.OptionalNullable.undefined(),
$fidl.OptionalNullable<Flags> flags =
const $fidl.OptionalNullable.undefined(),
}) {
return FunctionApplication(
func: func.or(this.func),
args: args.or(this.args),
flags: flags.or(this.flags),
);
}
@override
final Map<int, $fidl.UnknownRawData>? $unknownData;
final String? func;
final List<Expression?>? args;
final Flags? flags;
@override
dynamic $field(int index) {
switch (index) {
case 0:
return func;
case 2:
return args;
case 3:
return flags;
}
return null;
}
@override
Map<int, dynamic> get $fields {
return {
1: func,
3: args,
4: flags,
};
}
static FunctionApplication _ctor(Map<int, dynamic> argv,
[Map<int, $fidl.UnknownRawData>? unknownData]) =>
FunctionApplication._(argv, unknownData);
}
// See fxbug.dev/7644:
// ignore: recursive_compile_time_constant
const $fidl.TableType<FunctionApplication> kFunctionApplication_Type =
$fidl.TableType<FunctionApplication>(
inlineSize: 16,
members: [
$fidl.StringType(maybeElementCount: 100),
null,
$fidl.VectorType<Expression?, List<Expression?>>(
element: kExpression_OptType, maybeElementCount: 5),
kFlags_Type,
],
ctor: FunctionApplication._ctor,
resource: false,
);
class TableMember extends $fidl.Table {
const TableMember({
this.$unknownData,
this.tableData,
});
TableMember._(Map<int, dynamic> argv, this.$unknownData)
: tableData = argv[2];
TableMember $cloneWith({
$fidl.OptionalNullable<Map<int, $fidl.UnknownRawData>> $unknownData =
const $fidl.OptionalNullable.undefined(),
$fidl.OptionalNullable<List<TableData>> tableData =
const $fidl.OptionalNullable.undefined(),
}) {
return TableMember(
tableData: tableData.or(this.tableData),
);
}
@override
final Map<int, $fidl.UnknownRawData>? $unknownData;
final List<TableData>? tableData;
@override
dynamic $field(int index) {
switch (index) {
case 1:
return tableData;
}
return null;
}
@override
Map<int, dynamic> get $fields {
return {
2: tableData,
};
}
static TableMember _ctor(Map<int, dynamic> argv,
[Map<int, $fidl.UnknownRawData>? unknownData]) =>
TableMember._(argv, unknownData);
}
// See fxbug.dev/7644:
// ignore: recursive_compile_time_constant
const $fidl.TableType<TableMember> kTableMember_Type =
$fidl.TableType<TableMember>(
inlineSize: 16,
members: [
null,
$fidl.VectorType<TableData, List<TableData>>(
element: kTableData_Type, maybeElementCount: 10),
],
ctor: TableMember._ctor,
resource: false,
);
// someMethod: (UnionMember unionMember, TableMember tableMember) -> (BitsMember bitsMember)
const int _kSomeProtocol_SomeMethod_Ordinal = 0x22ea52ec7a5146d8;
const $fidl.MethodType _kSomeProtocol_SomeMethod_Type = $fidl.MethodType(
request: <$fidl.MemberType>[
$fidl.MemberType<UnionMember>(type: kUnionMember_Type, offset: 0),
$fidl.MemberType<TableMember>(type: kTableMember_Type, offset: 16),
],
response: <$fidl.MemberType>[
$fidl.MemberType<SomeProtocolSomeMethodResult>(
type: kSomeProtocol_SomeMethod_Result_Type, offset: 0),
],
name: r"SomeProtocol.SomeMethod",
requestInlineSizeV2: 32,
responseInlineSizeV2: 16,
);
abstract class SomeProtocol {
$fidl.ServiceData? get $serviceData => SomeProtocolData();
$async.Future<BitsMember> someMethod(
UnionMember unionMember, TableMember tableMember);
} // TODO: Remove ServiceData for non-service
class SomeProtocolData implements $fidl.ServiceData<SomeProtocol> {
const SomeProtocolData();
@override
String getName() {
return "";
}
@override
$fidl.AsyncBinding getBinding() {
return SomeProtocolBinding();
}
}
class SomeProtocolProxy extends $fidl.AsyncProxy<SomeProtocol>
implements SomeProtocol {
SomeProtocolProxy()
: super($fidl.AsyncProxyController<SomeProtocol>(
$interfaceName: r'SomeProtocol')) {
ctrl.onResponse = _handleResponse;
}
@override
Null get $serviceData => null;
void _handleEvent($fidl.IncomingMessage $message) {
switch ($message.ordinal) {
default:
$message.closeHandles();
ctrl.proxyError(
$fidl.FidlError('Unexpected message ordinal: ${$message.ordinal}'));
break;
}
}
void _handleResponse($fidl.IncomingMessage $message) {
final int $txid = $message.txid;
if ($txid == 0) {
_handleEvent($message);
return;
}
final $async.Completer? $completer = ctrl.getCompleter($txid);
if ($completer == null) {
$message.closeHandles();
return;
}
switch ($message.ordinal) {
case _kSomeProtocol_SomeMethod_Ordinal:
final String _name = _kSomeProtocol_SomeMethod_Type.name;
$fidl.performCtrlWithExceptionHandling(
_name, ctrl, 'method response', $completer.completeError, () {
final List<$fidl.MemberType> $types =
_kSomeProtocol_SomeMethod_Type.response!;
final $wireFormat = $message.parseWireFormat();
// ignore: prefer_const_declarations
final SomeProtocolSomeMethodResult $response = $fidl.decodeMessage(
$message,
_kSomeProtocol_SomeMethod_Type.responseInlineSize($wireFormat),
$types[0]);
if ($response.$tag == SomeProtocolSomeMethodResultTag.response) {
$completer.complete($response.response!.bitsMember);
} else {
$completer.completeError($fidl.MethodException($response.err));
}
});
break;
default:
ctrl.proxyError(
$fidl.FidlError('Unexpected message ordinal: ${$message.ordinal}'));
break;
}
}
@override
$async.Future<BitsMember> someMethod(
UnionMember unionMember, TableMember tableMember) {
if (!ctrl.isBound) {
return $async.Future.error(
$fidl.FidlStateException('Proxy<${ctrl.$interfaceName}> is closed.'),
StackTrace.current);
}
final $fidl.Encoder $encoder = $fidl.Encoder($fidl.kWireFormatDefault);
$encoder.encodeMessageHeader(
_kSomeProtocol_SomeMethod_Ordinal, 0, $fidl.CallStrictness.strict);
final List<$fidl.MemberType> $types =
_kSomeProtocol_SomeMethod_Type.request!;
$fidl.encodeMessageWithCallback($encoder,
_kSomeProtocol_SomeMethod_Type.requestInlineSize($encoder.wireFormat),
() {
$types[0].encode($encoder, unionMember, $fidl.kMessageHeaderSize, 1);
$types[1].encode($encoder, tableMember, $fidl.kMessageHeaderSize, 1);
});
final $completer = $async.Completer<BitsMember>();
ctrl.sendMessageWithResponse($encoder.message, $completer);
return $completer.future;
}
}
class SomeProtocolBinding extends $fidl.AsyncBinding<SomeProtocol> {
SomeProtocolBinding() : super(r"SomeProtocol");
@override
void handleMessage(
$fidl.IncomingMessage $message, $fidl.OutgoingMessageSink $respond) {
final $wireFormat = $message.parseWireFormat();
switch ($message.ordinal) {
case _kSomeProtocol_SomeMethod_Ordinal:
final String _name = _kSomeProtocol_SomeMethod_Type.name;
$fidl.performWithExceptionHandling(_name, () {
final List<$fidl.MemberType> $types =
_kSomeProtocol_SomeMethod_Type.request!;
// ignore: prefer_const_declarations
final _impl = impl!;
final $async.Future<BitsMember> $future = $fidl
.decodeMessageWithCallback<$async.Future<BitsMember>>($message,
_kSomeProtocol_SomeMethod_Type.requestInlineSize($wireFormat),
($fidl.Decoder $decoder, int $offset) {
return _impl.someMethod(
$types[0].decode($decoder, $offset, 1),
$types[1].decode($decoder, $offset, 1),
);
});
$future.then(($responseValue) {
return SomeProtocolSomeMethodResult.withResponse(
SomeProtocolSomeMethodResponse(bitsMember: $responseValue));
}, onError: ($error) {
if ($error is $fidl.MethodException) {
return SomeProtocolSomeMethodResult.withErr($error.value);
} else {
return Future.error($error, StackTrace.current);
}
}).then(($response) {
final $fidl.Encoder $encoder =
$fidl.Encoder($fidl.kWireFormatDefault);
$encoder.encodeMessageHeader(_kSomeProtocol_SomeMethod_Ordinal,
$message.txid, $fidl.CallStrictness.strict);
final List<$fidl.MemberType> $types =
_kSomeProtocol_SomeMethod_Type.response!;
$fidl.encodeMessage(
$encoder,
_kSomeProtocol_SomeMethod_Type
.responseInlineSize($encoder.wireFormat),
$types[0],
$response);
$respond($encoder.message);
}, onError: (_e) {
$fidl.handleException(_name, _e, close);
});
}, close);
break;
default:
$message.closeHandles();
throw $fidl.FidlError(
r'Unexpected message name for SomeProtocolBinding');
}
}
}