| // 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 (v11.0.1), 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 Float64List, Int32List, Int64List, Uint8List; |
| |
| import 'package:flutter/foundation.dart' show ReadBuffer, WriteBuffer; |
| import 'package:flutter/services.dart'; |
| |
| /// Possible outcomes of launching a URL. |
| enum LaunchResult { |
| /// The URL was successfully launched (or could be, for `canLaunchUrl`). |
| success, |
| |
| /// There was no handler available for the URL. |
| failure, |
| |
| /// The URL could not be launched because it is invalid. |
| invalidUrl, |
| } |
| |
| /// Possible outcomes of handling a URL within the application. |
| enum InAppLoadResult { |
| /// The URL was successfully loaded. |
| success, |
| |
| /// The URL did not load successfully. |
| failedToLoad, |
| |
| /// The URL could not be launched because it is invalid. |
| invalidUrl, |
| } |
| |
| class UrlLauncherApi { |
| /// Constructor for [UrlLauncherApi]. 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. |
| UrlLauncherApi({BinaryMessenger? binaryMessenger}) |
| : _binaryMessenger = binaryMessenger; |
| final BinaryMessenger? _binaryMessenger; |
| |
| static const MessageCodec<Object?> codec = StandardMessageCodec(); |
| |
| /// Checks whether a URL can be loaded. |
| Future<LaunchResult> canLaunchUrl(String arg_url) async { |
| final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( |
| 'dev.flutter.pigeon.url_launcher_ios.UrlLauncherApi.canLaunchUrl', |
| codec, |
| binaryMessenger: _binaryMessenger); |
| final List<Object?>? replyList = |
| await channel.send(<Object?>[arg_url]) as List<Object?>?; |
| if (replyList == null) { |
| throw PlatformException( |
| code: 'channel-error', |
| message: 'Unable to establish connection on channel.', |
| ); |
| } else if (replyList.length > 1) { |
| throw PlatformException( |
| code: replyList[0]! as String, |
| message: replyList[1] as String?, |
| details: replyList[2], |
| ); |
| } else if (replyList[0] == null) { |
| throw PlatformException( |
| code: 'null-error', |
| message: 'Host platform returned null value for non-null return value.', |
| ); |
| } else { |
| return LaunchResult.values[replyList[0]! as int]; |
| } |
| } |
| |
| /// Opens the URL externally, returning the status of launching it. |
| Future<LaunchResult> launchUrl( |
| String arg_url, bool arg_universalLinksOnly) async { |
| final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( |
| 'dev.flutter.pigeon.url_launcher_ios.UrlLauncherApi.launchUrl', codec, |
| binaryMessenger: _binaryMessenger); |
| final List<Object?>? replyList = await channel |
| .send(<Object?>[arg_url, arg_universalLinksOnly]) as List<Object?>?; |
| if (replyList == null) { |
| throw PlatformException( |
| code: 'channel-error', |
| message: 'Unable to establish connection on channel.', |
| ); |
| } else if (replyList.length > 1) { |
| throw PlatformException( |
| code: replyList[0]! as String, |
| message: replyList[1] as String?, |
| details: replyList[2], |
| ); |
| } else if (replyList[0] == null) { |
| throw PlatformException( |
| code: 'null-error', |
| message: 'Host platform returned null value for non-null return value.', |
| ); |
| } else { |
| return LaunchResult.values[replyList[0]! as int]; |
| } |
| } |
| |
| /// Opens the URL in an in-app SFSafariViewController, returning the results |
| /// of loading it. |
| Future<InAppLoadResult> openUrlInSafariViewController(String arg_url) async { |
| final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( |
| 'dev.flutter.pigeon.url_launcher_ios.UrlLauncherApi.openUrlInSafariViewController', |
| codec, |
| binaryMessenger: _binaryMessenger); |
| final List<Object?>? replyList = |
| await channel.send(<Object?>[arg_url]) as List<Object?>?; |
| if (replyList == null) { |
| throw PlatformException( |
| code: 'channel-error', |
| message: 'Unable to establish connection on channel.', |
| ); |
| } else if (replyList.length > 1) { |
| throw PlatformException( |
| code: replyList[0]! as String, |
| message: replyList[1] as String?, |
| details: replyList[2], |
| ); |
| } else if (replyList[0] == null) { |
| throw PlatformException( |
| code: 'null-error', |
| message: 'Host platform returned null value for non-null return value.', |
| ); |
| } else { |
| return InAppLoadResult.values[replyList[0]! as int]; |
| } |
| } |
| |
| /// Closes the view controller opened by [openUrlInSafariViewController]. |
| Future<void> closeSafariViewController() async { |
| final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>( |
| 'dev.flutter.pigeon.url_launcher_ios.UrlLauncherApi.closeSafariViewController', |
| codec, |
| binaryMessenger: _binaryMessenger); |
| final List<Object?>? replyList = await channel.send(null) as List<Object?>?; |
| if (replyList == null) { |
| throw PlatformException( |
| code: 'channel-error', |
| message: 'Unable to establish connection on channel.', |
| ); |
| } else if (replyList.length > 1) { |
| throw PlatformException( |
| code: replyList[0]! as String, |
| message: replyList[1] as String?, |
| details: replyList[2], |
| ); |
| } else { |
| return; |
| } |
| } |
| } |