blob: 15090a5c5a24f1156b4f01e86b4c43a6201e0cad [file] [log] [blame]
// WARNING: This file is machine generated by fidlgen_dart.
// @dart = 2.12
library fidl_fidl_test_requestflexibleenvelope_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: 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
enum FlexibleFooTag {
$unknown,
s, // 0x1
i, // 0x2
}
const Map<int, FlexibleFooTag> _FlexibleFooTag_map = {
1: FlexibleFooTag.s,
2: FlexibleFooTag.i,
};
class FlexibleFoo extends $fidl.XUnion {
const FlexibleFoo.withS(String value)
: _ordinal = 1,
_data = value;
const FlexibleFoo.withI(int value)
: _ordinal = 2,
_data = value;
const FlexibleFoo.with$UnknownData(this._ordinal, $fidl.UnknownRawData data)
: _data = data;
FlexibleFoo._(int ordinal, Object data)
: _ordinal = ordinal,
_data = data;
final int _ordinal;
final _data;
FlexibleFooTag get $tag =>
_FlexibleFooTag_map[_ordinal] ?? FlexibleFooTag.$unknown;
String? get s {
if (_ordinal != 1) {
return null;
}
return _data;
}
int? get i {
if (_ordinal != 2) {
return null;
}
return _data;
}
$fidl.UnknownRawData? get $unknownData {
switch (_ordinal) {
case 1:
case 2:
return null;
default:
return _data;
}
}
@override
String toString() {
switch (_ordinal) {
case 1:
return r'FlexibleFoo.s(' + s.toString() + ')';
case 2:
return r'FlexibleFoo.i(' + i.toString() + ')';
default:
return r'FlexibleFoo.<UNKNOWN>';
}
}
@override
int get $ordinal => _ordinal;
@override
Object get $data => _data;
static FlexibleFoo _ctor(int ordinal, Object data) {
return FlexibleFoo._(ordinal, data);
}
}
// See fxbug.dev/7644:
// ignore: recursive_compile_time_constant
const $fidl.UnionType<FlexibleFoo> kFlexibleFoo_Type =
$fidl.UnionType<FlexibleFoo>(
members: <int, $fidl.FidlType>{
1: $fidl.StringType(maybeElementCount: null),
2: $fidl.Int32Type(),
},
ctor: FlexibleFoo._ctor,
flexible: true,
resource: false,
);
// See fxbug.dev/7644:
// ignore: recursive_compile_time_constant
const $fidl.NullableUnionType<FlexibleFoo> kFlexibleFoo_OptType =
$fidl.NullableUnionType<FlexibleFoo>(
members: <int, $fidl.FidlType>{
1: $fidl.StringType(maybeElementCount: null),
2: $fidl.Int32Type(),
},
ctor: FlexibleFoo._ctor,
flexible: true,
resource: false,
);
enum StrictFooTag {
s, // 0x1
i, // 0x2
}
const Map<int, StrictFooTag> _StrictFooTag_map = {
1: StrictFooTag.s,
2: StrictFooTag.i,
};
class StrictFoo extends $fidl.XUnion {
const StrictFoo.withS(String value)
: _ordinal = 1,
_data = value;
const StrictFoo.withI(int value)
: _ordinal = 2,
_data = value;
StrictFoo._(int ordinal, Object data)
: _ordinal = ordinal,
_data = data;
final int _ordinal;
final _data;
StrictFooTag get $tag => _StrictFooTag_map[_ordinal]!;
String? get s {
if (_ordinal != 1) {
return null;
}
return _data;
}
int? get i {
if (_ordinal != 2) {
return null;
}
return _data;
}
$fidl.UnknownRawData? get $unknownData {
switch (_ordinal) {
case 1:
case 2:
return null;
default:
return _data;
}
}
@override
String toString() {
switch (_ordinal) {
case 1:
return r'StrictFoo.s(' + s.toString() + ')';
case 2:
return r'StrictFoo.i(' + i.toString() + ')';
default:
return r'StrictFoo.<UNKNOWN>';
}
}
@override
int get $ordinal => _ordinal;
@override
Object get $data => _data;
static StrictFoo _ctor(int ordinal, Object data) {
return StrictFoo._(ordinal, data);
}
}
// See fxbug.dev/7644:
// ignore: recursive_compile_time_constant
const $fidl.UnionType<StrictFoo> kStrictFoo_Type = $fidl.UnionType<StrictFoo>(
members: <int, $fidl.FidlType>{
1: $fidl.StringType(maybeElementCount: null),
2: $fidl.Int32Type(),
},
ctor: StrictFoo._ctor,
flexible: false,
resource: false,
);
// See fxbug.dev/7644:
// ignore: recursive_compile_time_constant
const $fidl.NullableUnionType<StrictFoo> kStrictFoo_OptType =
$fidl.NullableUnionType<StrictFoo>(
members: <int, $fidl.FidlType>{
1: $fidl.StringType(maybeElementCount: null),
2: $fidl.Int32Type(),
},
ctor: StrictFoo._ctor,
flexible: false,
resource: false,
);
// ignore: unused_element, avoid_private_typedef_functions
typedef _VoidCallback = void Function();
// requestStrictResponseFlexible: (StrictFoo s) -> (FlexibleFoo f)
const int _kProtocol_RequestStrictResponseFlexible_Ordinal = 0x3c5330c58686011a;
const $fidl.MethodType _kProtocol_RequestStrictResponseFlexible_Type =
$fidl.MethodType(
request: <$fidl.MemberType>[
$fidl.MemberType<StrictFoo>(type: kStrictFoo_Type, offset: 0),
],
response: <$fidl.MemberType>[
$fidl.MemberType<FlexibleFoo>(type: kFlexibleFoo_Type, offset: 0),
],
name: r"Protocol.RequestStrictResponseFlexible",
requestInlineSize: 24,
responseInlineSize: 24,
);
// requestFlexibleResponseStrict: (FlexibleFoo s) -> (StrictFoo f)
const int _kProtocol_RequestFlexibleResponseStrict_Ordinal = 0x3cb49d8f6e204f76;
const $fidl.MethodType _kProtocol_RequestFlexibleResponseStrict_Type =
$fidl.MethodType(
request: <$fidl.MemberType>[
$fidl.MemberType<FlexibleFoo>(type: kFlexibleFoo_Type, offset: 0),
],
response: <$fidl.MemberType>[
$fidl.MemberType<StrictFoo>(type: kStrictFoo_Type, offset: 0),
],
name: r"Protocol.RequestFlexibleResponseStrict",
requestInlineSize: 24,
responseInlineSize: 24,
);
abstract class Protocol {
$fidl.ServiceData? get $serviceData => ProtocolData();
$async.Future<FlexibleFoo> requestStrictResponseFlexible(StrictFoo s);
$async.Future<StrictFoo> requestFlexibleResponseStrict(FlexibleFoo s);
}
// TODO: Remove ServiceData for non-service
class ProtocolData implements $fidl.ServiceData<Protocol> {
const ProtocolData();
@override
String getName() {
return "";
}
@override
$fidl.AsyncBinding getBinding() {
return ProtocolBinding();
}
}
class ProtocolProxy extends $fidl.AsyncProxy<Protocol> implements Protocol {
ProtocolProxy()
: super(
$fidl.AsyncProxyController<Protocol>($interfaceName: r'Protocol')) {
ctrl.onResponse = _handleResponse;
}
@override
Null get $serviceData => null;
void _handleEvent($fidl.IncomingMessage $message) {
switch ($message.ordinal) {
default:
ctrl.proxyError(
$fidl.FidlError('Unexpected message ordinal: ${$message.ordinal}'));
ctrl.close();
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 _kProtocol_RequestStrictResponseFlexible_Ordinal:
final String _name = _kProtocol_RequestStrictResponseFlexible_Type.name;
try {
Timeline.startSync(_name);
final List<$fidl.MemberType> $types =
_kProtocol_RequestStrictResponseFlexible_Type.response!;
// ignore: prefer_const_declarations
final $response = $fidl.decodeMessage(
$message,
_kProtocol_RequestStrictResponseFlexible_Type
.decodeResponseInlineSize(),
$types[0]);
$completer.complete($response);
} catch (_e) {
ctrl.proxyError($fidl.FidlError(
'Exception handling method response $_name: $_e'));
ctrl.close();
rethrow;
} finally {
Timeline.finishSync();
}
break;
case _kProtocol_RequestFlexibleResponseStrict_Ordinal:
final String _name = _kProtocol_RequestFlexibleResponseStrict_Type.name;
try {
Timeline.startSync(_name);
final List<$fidl.MemberType> $types =
_kProtocol_RequestFlexibleResponseStrict_Type.response!;
// ignore: prefer_const_declarations
final $response = $fidl.decodeMessage(
$message,
_kProtocol_RequestFlexibleResponseStrict_Type
.decodeResponseInlineSize(),
$types[0]);
$completer.complete($response);
} catch (_e) {
ctrl.proxyError($fidl.FidlError(
'Exception handling method response $_name: $_e'));
ctrl.close();
rethrow;
} finally {
Timeline.finishSync();
}
break;
default:
ctrl.proxyError(
$fidl.FidlError('Unexpected message ordinal: ${$message.ordinal}'));
ctrl.close();
break;
}
}
@override
$async.Future<FlexibleFoo> requestStrictResponseFlexible(StrictFoo s) async {
if (!ctrl.isBound) {
return $async.Future.error(
$fidl.FidlStateException('Proxy<${ctrl.$interfaceName}> is closed.'),
StackTrace.current);
}
final $fidl.Encoder $encoder = $fidl.Encoder();
$encoder.encodeMessageHeader(
_kProtocol_RequestStrictResponseFlexible_Ordinal, 0);
final List<$fidl.MemberType> $types =
_kProtocol_RequestStrictResponseFlexible_Type.request!;
$fidl.encodeMessageWithCallback(
$encoder,
_kProtocol_RequestStrictResponseFlexible_Type
.encodingRequestInlineSize(), () {
$types[0].encode($encoder, s, $fidl.kMessageHeaderSize, 1);
});
final $completer = $async.Completer<FlexibleFoo>();
ctrl.sendMessageWithResponse($encoder.message, $completer);
return $completer.future;
}
@override
$async.Future<StrictFoo> requestFlexibleResponseStrict(FlexibleFoo s) async {
if (!ctrl.isBound) {
return $async.Future.error(
$fidl.FidlStateException('Proxy<${ctrl.$interfaceName}> is closed.'),
StackTrace.current);
}
final $fidl.Encoder $encoder = $fidl.Encoder();
$encoder.encodeMessageHeader(
_kProtocol_RequestFlexibleResponseStrict_Ordinal, 0);
final List<$fidl.MemberType> $types =
_kProtocol_RequestFlexibleResponseStrict_Type.request!;
$fidl.encodeMessageWithCallback(
$encoder,
_kProtocol_RequestFlexibleResponseStrict_Type
.encodingRequestInlineSize(), () {
$types[0].encode($encoder, s, $fidl.kMessageHeaderSize, 1);
});
final $completer = $async.Completer<StrictFoo>();
ctrl.sendMessageWithResponse($encoder.message, $completer);
return $completer.future;
}
}
class ProtocolBinding extends $fidl.AsyncBinding<Protocol> {
ProtocolBinding() : super(r"Protocol");
@override
void handleMessage(
$fidl.IncomingMessage $message, $fidl.OutgoingMessageSink $respond) {
switch ($message.ordinal) {
case _kProtocol_RequestStrictResponseFlexible_Ordinal:
final String _name = _kProtocol_RequestStrictResponseFlexible_Type.name;
try {
Timeline.startSync(_name);
final List<$fidl.MemberType> $types =
_kProtocol_RequestStrictResponseFlexible_Type.request!;
// ignore: prefer_const_declarations
final _impl = impl!;
final $async.Future<FlexibleFoo> $future = $fidl
.decodeMessageWithCallback<$async.Future<FlexibleFoo>>(
$message,
_kProtocol_RequestStrictResponseFlexible_Type
.decodeRequestInlineSize(), ($fidl.Decoder decoder) {
return _impl.requestStrictResponseFlexible(
$types[0].decode(decoder, $fidl.kMessageHeaderSize, 1),
);
});
$future.then(($response) {
final $fidl.Encoder $encoder = $fidl.Encoder();
$encoder.encodeMessageHeader(
_kProtocol_RequestStrictResponseFlexible_Ordinal,
$message.txid);
final List<$fidl.MemberType> $types =
_kProtocol_RequestStrictResponseFlexible_Type.response!;
$fidl.encodeMessage(
$encoder,
_kProtocol_RequestStrictResponseFlexible_Type
.encodingResponseInlineSize(),
$types[0],
$response);
$respond($encoder.message);
}, onError: (_e) {
close();
print('Exception handling method call $_name: $_e');
});
} catch (_e) {
close();
print('Exception handling method call $_name: $_e');
rethrow;
} finally {
Timeline.finishSync();
}
break;
case _kProtocol_RequestFlexibleResponseStrict_Ordinal:
final String _name = _kProtocol_RequestFlexibleResponseStrict_Type.name;
try {
Timeline.startSync(_name);
final List<$fidl.MemberType> $types =
_kProtocol_RequestFlexibleResponseStrict_Type.request!;
// ignore: prefer_const_declarations
final _impl = impl!;
final $async.Future<StrictFoo> $future = $fidl
.decodeMessageWithCallback<$async.Future<StrictFoo>>(
$message,
_kProtocol_RequestFlexibleResponseStrict_Type
.decodeRequestInlineSize(), ($fidl.Decoder decoder) {
return _impl.requestFlexibleResponseStrict(
$types[0].decode(decoder, $fidl.kMessageHeaderSize, 1),
);
});
$future.then(($response) {
final $fidl.Encoder $encoder = $fidl.Encoder();
$encoder.encodeMessageHeader(
_kProtocol_RequestFlexibleResponseStrict_Ordinal,
$message.txid);
final List<$fidl.MemberType> $types =
_kProtocol_RequestFlexibleResponseStrict_Type.response!;
$fidl.encodeMessage(
$encoder,
_kProtocol_RequestFlexibleResponseStrict_Type
.encodingResponseInlineSize(),
$types[0],
$response);
$respond($encoder.message);
}, onError: (_e) {
close();
print('Exception handling method call $_name: $_e');
});
} catch (_e) {
close();
print('Exception handling method call $_name: $_e');
rethrow;
} finally {
Timeline.finishSync();
}
break;
default:
throw $fidl.FidlError(r'Unexpected message name for ProtocolBinding');
}
}
}