| // 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?>(); |
| } |
| } |
| } |