blob: ad3d5af8327856d512dff9c7b49b91734c4eefb7 [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Autogenerated from Pigeon (v3.2.5), do not edit directly.
// See also: https://pub.dev/packages/pigeon
// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import
import 'dart:async';
import 'dart:typed_data' show Uint8List, Int32List, Int64List, Float64List;
import 'package:flutter/foundation.dart' show WriteBuffer, ReadBuffer;
import 'package:flutter/services.dart';
class TypeGroup {
TypeGroup({
required this.label,
required this.extensions,
});
String label;
List<String?> extensions;
Object encode() {
final Map<Object?, Object?> pigeonMap = <Object?, Object?>{};
pigeonMap['label'] = label;
pigeonMap['extensions'] = extensions;
return pigeonMap;
}
static TypeGroup decode(Object message) {
final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>;
return TypeGroup(
label: pigeonMap['label']! as String,
extensions: (pigeonMap['extensions'] as List<Object?>?)!.cast<String?>(),
);
}
}
class SelectionOptions {
SelectionOptions({
required this.allowMultiple,
required this.selectFolders,
required this.allowedTypes,
});
bool allowMultiple;
bool selectFolders;
List<TypeGroup?> allowedTypes;
Object encode() {
final Map<Object?, Object?> pigeonMap = <Object?, Object?>{};
pigeonMap['allowMultiple'] = allowMultiple;
pigeonMap['selectFolders'] = selectFolders;
pigeonMap['allowedTypes'] = allowedTypes;
return pigeonMap;
}
static SelectionOptions decode(Object message) {
final Map<Object?, Object?> pigeonMap = message as Map<Object?, Object?>;
return SelectionOptions(
allowMultiple: pigeonMap['allowMultiple']! as bool,
selectFolders: pigeonMap['selectFolders']! as bool,
allowedTypes:
(pigeonMap['allowedTypes'] as List<Object?>?)!.cast<TypeGroup?>(),
);
}
}
class _FileSelectorApiCodec extends StandardMessageCodec {
const _FileSelectorApiCodec();
@override
void writeValue(WriteBuffer buffer, Object? value) {
if (value is SelectionOptions) {
buffer.putUint8(128);
writeValue(buffer, value.encode());
} else if (value is TypeGroup) {
buffer.putUint8(129);
writeValue(buffer, value.encode());
} else {
super.writeValue(buffer, value);
}
}
@override
Object? readValueOfType(int type, ReadBuffer buffer) {
switch (type) {
case 128:
return SelectionOptions.decode(readValue(buffer)!);
case 129:
return TypeGroup.decode(readValue(buffer)!);
default:
return super.readValueOfType(type, buffer);
}
}
}
class FileSelectorApi {
/// Constructor for [FileSelectorApi]. The [binaryMessenger] named argument is
/// available for dependency injection. If it is left null, the default
/// BinaryMessenger will be used which routes to the host platform.
FileSelectorApi({BinaryMessenger? binaryMessenger})
: _binaryMessenger = binaryMessenger;
final BinaryMessenger? _binaryMessenger;
static const MessageCodec<Object?> codec = _FileSelectorApiCodec();
Future<List<String?>> showOpenDialog(SelectionOptions arg_options,
String? arg_initialDirectory, String? arg_confirmButtonText) async {
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
'dev.flutter.pigeon.FileSelectorApi.showOpenDialog', codec,
binaryMessenger: _binaryMessenger);
final Map<Object?, Object?>? replyMap = await channel.send(
<Object?>[arg_options, arg_initialDirectory, arg_confirmButtonText])
as Map<Object?, Object?>?;
if (replyMap == null) {
throw PlatformException(
code: 'channel-error',
message: 'Unable to establish connection on channel.',
);
} else if (replyMap['error'] != null) {
final Map<Object?, Object?> error =
(replyMap['error'] as Map<Object?, Object?>?)!;
throw PlatformException(
code: (error['code'] as String?)!,
message: error['message'] as String?,
details: error['details'],
);
} else if (replyMap['result'] == null) {
throw PlatformException(
code: 'null-error',
message: 'Host platform returned null value for non-null return value.',
);
} else {
return (replyMap['result'] as List<Object?>?)!.cast<String?>();
}
}
Future<List<String?>> showSaveDialog(
SelectionOptions arg_options,
String? arg_initialDirectory,
String? arg_suggestedName,
String? arg_confirmButtonText) async {
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
'dev.flutter.pigeon.FileSelectorApi.showSaveDialog', codec,
binaryMessenger: _binaryMessenger);
final Map<Object?, Object?>? replyMap = await channel.send(<Object?>[
arg_options,
arg_initialDirectory,
arg_suggestedName,
arg_confirmButtonText
]) as Map<Object?, Object?>?;
if (replyMap == null) {
throw PlatformException(
code: 'channel-error',
message: 'Unable to establish connection on channel.',
);
} else if (replyMap['error'] != null) {
final Map<Object?, Object?> error =
(replyMap['error'] as Map<Object?, Object?>?)!;
throw PlatformException(
code: (error['code'] as String?)!,
message: error['message'] as String?,
details: error['details'],
);
} else if (replyMap['result'] == null) {
throw PlatformException(
code: 'null-error',
message: 'Host platform returned null value for non-null return value.',
);
} else {
return (replyMap['result'] as List<Object?>?)!.cast<String?>();
}
}
}