// Copyright 2013 The Flutter Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:pigeon/pigeon.dart'; @ConfigurePigeon( PigeonOptions( dartOut: 'lib/src/messages.g.dart', swiftOut: 'macos/url_launcher_macos/Sources/url_launcher_macos/messages.g.swift', copyrightHeader: 'pigeons/copyright.txt', ), ) /// Possible error conditions for [UrlLauncherApi] calls. enum UrlLauncherError { /// The URL could not be parsed as an NSURL. invalidUrl, } /// Possible results for a [UrlLauncherApi] call with a boolean outcome. class UrlLauncherBoolResult { UrlLauncherBoolResult(this.value, {this.error}); final bool value; final UrlLauncherError? error; } @HostApi() abstract class UrlLauncherApi { /// Returns a true result if the URL can definitely be launched. @SwiftFunction('canLaunch(url:)') UrlLauncherBoolResult canLaunchUrl(String url); /// Opens the URL externally, returning a true result if successful. @SwiftFunction('launch(url:)') UrlLauncherBoolResult launchUrl(String url); }