From 8e6c67d37e4c9e137b0df0625e579a077bbb9528 Mon Sep 17 00:00:00 2001 From: Alexander Aprelev Date: Wed, 5 Jul 2023 15:30:38 -0700 Subject: [PATCH 1/6] Roll pigeon dependency to unblock flutter framework deps roll --- packages/url_launcher/url_launcher_windows/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher_windows/pubspec.yaml b/packages/url_launcher/url_launcher_windows/pubspec.yaml index f91d6294c7ab..1e7678df5925 100644 --- a/packages/url_launcher/url_launcher_windows/pubspec.yaml +++ b/packages/url_launcher/url_launcher_windows/pubspec.yaml @@ -24,5 +24,5 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - pigeon: ^5.0.1 + pigeon: ^9.2.4 test: ^1.16.3 From 4249811ab130158227d0c61c1c367dcd4230456f Mon Sep 17 00:00:00 2001 From: Alexander Aprelev Date: Wed, 5 Jul 2023 15:38:33 -0700 Subject: [PATCH 2/6] Up the version --- packages/url_launcher/url_launcher_windows/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher_windows/pubspec.yaml b/packages/url_launcher/url_launcher_windows/pubspec.yaml index 1e7678df5925..236675d5a672 100644 --- a/packages/url_launcher/url_launcher_windows/pubspec.yaml +++ b/packages/url_launcher/url_launcher_windows/pubspec.yaml @@ -2,7 +2,7 @@ name: url_launcher_windows description: Windows implementation of the url_launcher plugin. repository: https://github.com/flutter/packages/tree/main/packages/url_launcher/url_launcher_windows issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+url_launcher%22 -version: 3.0.6 +version: 3.0.7 environment: sdk: ">=2.18.0 <4.0.0" From 0c2d9b069cbff299a3634f55f31b52fe23ad520f Mon Sep 17 00:00:00 2001 From: Alexander Aprelev Date: Wed, 5 Jul 2023 16:08:49 -0700 Subject: [PATCH 3/6] Update CHANGELOG.md --- packages/url_launcher/url_launcher_windows/CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher_windows/CHANGELOG.md b/packages/url_launcher/url_launcher_windows/CHANGELOG.md index 5f840cb547cf..4e95e0b2f4ba 100644 --- a/packages/url_launcher/url_launcher_windows/CHANGELOG.md +++ b/packages/url_launcher/url_launcher_windows/CHANGELOG.md @@ -1,5 +1,6 @@ -## NEXT +## 3.0.7 +* Update pigeon dependency for url_launcher_windows to "^9.2.4". * Updates minimum supported SDK version to Flutter 3.3/Dart 2.18. ## 3.0.6 From 6b671b790c375ac48eb7905240967554f515587c Mon Sep 17 00:00:00 2001 From: Alexander Aprelev Date: Thu, 6 Jul 2023 09:00:51 -0700 Subject: [PATCH 4/6] Update to the latest pigeon 10.1.2 --- packages/url_launcher/url_launcher_windows/CHANGELOG.md | 2 +- packages/url_launcher/url_launcher_windows/pubspec.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/url_launcher/url_launcher_windows/CHANGELOG.md b/packages/url_launcher/url_launcher_windows/CHANGELOG.md index 4e95e0b2f4ba..6c9d5f79ab46 100644 --- a/packages/url_launcher/url_launcher_windows/CHANGELOG.md +++ b/packages/url_launcher/url_launcher_windows/CHANGELOG.md @@ -1,6 +1,6 @@ ## 3.0.7 -* Update pigeon dependency for url_launcher_windows to "^9.2.4". +* Updates pigeon dependency for url_launcher_windows to "^10.1.2". * Updates minimum supported SDK version to Flutter 3.3/Dart 2.18. ## 3.0.6 diff --git a/packages/url_launcher/url_launcher_windows/pubspec.yaml b/packages/url_launcher/url_launcher_windows/pubspec.yaml index 236675d5a672..e5846b62b9a1 100644 --- a/packages/url_launcher/url_launcher_windows/pubspec.yaml +++ b/packages/url_launcher/url_launcher_windows/pubspec.yaml @@ -24,5 +24,5 @@ dependencies: dev_dependencies: flutter_test: sdk: flutter - pigeon: ^9.2.4 + pigeon: ^10.1.2 test: ^1.16.3 From e5bf73b30a744617296c6281a1d5d21227519d11 Mon Sep 17 00:00:00 2001 From: Alexander Aprelev Date: Thu, 6 Jul 2023 19:33:23 -0700 Subject: [PATCH 5/6] Update pigeon --- .../lib/src/messages.g.dart | 3 +- .../windows/messages.g.cpp | 139 +++++++++--------- .../url_launcher_windows/windows/messages.g.h | 46 +++--- 3 files changed, 92 insertions(+), 96 deletions(-) diff --git a/packages/url_launcher/url_launcher_windows/lib/src/messages.g.dart b/packages/url_launcher/url_launcher_windows/lib/src/messages.g.dart index a1d46c11267d..10034231b5f6 100644 --- a/packages/url_launcher/url_launcher_windows/lib/src/messages.g.dart +++ b/packages/url_launcher/url_launcher_windows/lib/src/messages.g.dart @@ -1,9 +1,10 @@ // 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 (v5.0.1), do not edit directly. +// Autogenerated from Pigeon (v10.1.2), 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; diff --git a/packages/url_launcher/url_launcher_windows/windows/messages.g.cpp b/packages/url_launcher/url_launcher_windows/windows/messages.g.cpp index eb1cf792931f..28e455abd46c 100644 --- a/packages/url_launcher/url_launcher_windows/windows/messages.g.cpp +++ b/packages/url_launcher/url_launcher_windows/windows/messages.g.cpp @@ -1,7 +1,7 @@ // 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 (v5.0.1), do not edit directly. +// Autogenerated from Pigeon (v10.1.2), do not edit directly. // See also: https://pub.dev/packages/pigeon #undef _HAS_EXCEPTIONS @@ -18,96 +18,93 @@ #include namespace url_launcher_windows { +using flutter::BasicMessageChannel; +using flutter::CustomEncodableValue; +using flutter::EncodableList; +using flutter::EncodableMap; +using flutter::EncodableValue; /// The codec used by UrlLauncherApi. const flutter::StandardMessageCodec& UrlLauncherApi::GetCodec() { - return flutter::StandardMessageCodec::GetInstance( - &flutter::StandardCodecSerializer::GetInstance()); + return flutter::StandardMessageCodec::GetInstance(&flutter::StandardCodecSerializer::GetInstance()); } -// Sets up an instance of `UrlLauncherApi` to handle messages through the -// `binary_messenger`. -void UrlLauncherApi::SetUp(flutter::BinaryMessenger* binary_messenger, - UrlLauncherApi* api) { +// Sets up an instance of `UrlLauncherApi` to handle messages through the `binary_messenger`. +void UrlLauncherApi::SetUp( + flutter::BinaryMessenger* binary_messenger, + UrlLauncherApi* api) { { - auto channel = - std::make_unique>( - binary_messenger, "dev.flutter.pigeon.UrlLauncherApi.canLaunchUrl", - &GetCodec()); + auto channel = std::make_unique>(binary_messenger, "dev.flutter.pigeon.UrlLauncherApi.canLaunchUrl", &GetCodec()); if (api != nullptr) { - channel->SetMessageHandler( - [api](const flutter::EncodableValue& message, - const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_url_arg = args.at(0); - if (encodable_url_arg.IsNull()) { - reply(WrapError("url_arg unexpectedly null.")); - return; - } - const auto& url_arg = std::get(encodable_url_arg); - ErrorOr output = api->CanLaunchUrl(url_arg); - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - flutter::EncodableList wrapped; - wrapped.push_back( - flutter::EncodableValue(std::move(output).TakeValue())); - reply(flutter::EncodableValue(std::move(wrapped))); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); + channel->SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_url_arg = args.at(0); + if (encodable_url_arg.IsNull()) { + reply(WrapError("url_arg unexpectedly null.")); + return; + } + const auto& url_arg = std::get(encodable_url_arg); + ErrorOr output = api->CanLaunchUrl(url_arg); + if (output.has_error()) { + reply(WrapError(output.error())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue(std::move(output).TakeValue())); + reply(EncodableValue(std::move(wrapped))); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); } else { channel->SetMessageHandler(nullptr); } } { - auto channel = - std::make_unique>( - binary_messenger, "dev.flutter.pigeon.UrlLauncherApi.launchUrl", - &GetCodec()); + auto channel = std::make_unique>(binary_messenger, "dev.flutter.pigeon.UrlLauncherApi.launchUrl", &GetCodec()); if (api != nullptr) { - channel->SetMessageHandler( - [api](const flutter::EncodableValue& message, - const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_url_arg = args.at(0); - if (encodable_url_arg.IsNull()) { - reply(WrapError("url_arg unexpectedly null.")); - return; - } - const auto& url_arg = std::get(encodable_url_arg); - std::optional output = api->LaunchUrl(url_arg); - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - flutter::EncodableList wrapped; - wrapped.push_back(flutter::EncodableValue()); - reply(flutter::EncodableValue(std::move(wrapped))); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); + channel->SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_url_arg = args.at(0); + if (encodable_url_arg.IsNull()) { + reply(WrapError("url_arg unexpectedly null.")); + return; + } + const auto& url_arg = std::get(encodable_url_arg); + std::optional output = api->LaunchUrl(url_arg); + if (output.has_value()) { + reply(WrapError(output.value())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue()); + reply(EncodableValue(std::move(wrapped))); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); } else { channel->SetMessageHandler(nullptr); } } } -flutter::EncodableValue UrlLauncherApi::WrapError( - std::string_view error_message) { - return flutter::EncodableValue(flutter::EncodableList{ - flutter::EncodableValue(std::string(error_message)), - flutter::EncodableValue("Error"), flutter::EncodableValue()}); +EncodableValue UrlLauncherApi::WrapError(std::string_view error_message) { + return EncodableValue(EncodableList{ + EncodableValue(std::string(error_message)), + EncodableValue("Error"), + EncodableValue() + }); } -flutter::EncodableValue UrlLauncherApi::WrapError(const FlutterError& error) { - return flutter::EncodableValue(flutter::EncodableList{ - flutter::EncodableValue(error.message()), - flutter::EncodableValue(error.code()), error.details()}); + +EncodableValue UrlLauncherApi::WrapError(const FlutterError& error) { + return EncodableValue(EncodableList{ + EncodableValue(error.code()), + EncodableValue(error.message()), + error.details() + }); } } // namespace url_launcher_windows diff --git a/packages/url_launcher/url_launcher_windows/windows/messages.g.h b/packages/url_launcher/url_launcher_windows/windows/messages.g.h index cb8e95f8d065..5552756323f1 100644 --- a/packages/url_launcher/url_launcher_windows/windows/messages.g.h +++ b/packages/url_launcher/url_launcher_windows/windows/messages.g.h @@ -1,11 +1,11 @@ // 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 (v5.0.1), do not edit directly. +// Autogenerated from Pigeon (v10.1.2), do not edit directly. // See also: https://pub.dev/packages/pigeon -#ifndef PIGEON_H_ -#define PIGEON_H_ +#ifndef PIGEON_MESSAGES_G_H_ +#define PIGEON_MESSAGES_G_H_ #include #include #include @@ -17,16 +17,17 @@ namespace url_launcher_windows { + // Generated class from Pigeon. class FlutterError { public: - explicit FlutterError(const std::string& code) : code_(code) {} + explicit FlutterError(const std::string& code) + : code_(code) {} explicit FlutterError(const std::string& code, const std::string& message) - : code_(code), message_(message) {} - explicit FlutterError(const std::string& code, const std::string& message, - const flutter::EncodableValue& details) - : code_(code), message_(message), details_(details) {} + : code_(code), message_(message) {} + explicit FlutterError(const std::string& code, const std::string& message, const flutter::EncodableValue& details) + : code_(code), message_(message), details_(details) {} const std::string& code() const { return code_; } const std::string& message() const { return message_; } @@ -38,13 +39,12 @@ class FlutterError { flutter::EncodableValue details_; }; -template -class ErrorOr { +template class ErrorOr { public: - ErrorOr(const T& rhs) { new (&v_) T(rhs); } - ErrorOr(const T&& rhs) { v_ = std::move(rhs); } - ErrorOr(const FlutterError& rhs) { new (&v_) FlutterError(rhs); } - ErrorOr(const FlutterError&& rhs) { v_ = std::move(rhs); } + ErrorOr(const T& rhs) : v_(rhs) {} + ErrorOr(const T&& rhs) : v_(std::move(rhs)) {} + ErrorOr(const FlutterError& rhs) : v_(rhs) {} + ErrorOr(const FlutterError&& rhs) : v_(std::move(rhs)) {} bool has_error() const { return std::holds_alternative(v_); } const T& value() const { return std::get(v_); }; @@ -58,29 +58,27 @@ class ErrorOr { std::variant v_; }; -// Generated interface from Pigeon that represents a handler of messages from -// Flutter. +// Generated interface from Pigeon that represents a handler of messages from Flutter. class UrlLauncherApi { public: UrlLauncherApi(const UrlLauncherApi&) = delete; UrlLauncherApi& operator=(const UrlLauncherApi&) = delete; - virtual ~UrlLauncherApi(){}; + virtual ~UrlLauncherApi() {} virtual ErrorOr CanLaunchUrl(const std::string& url) = 0; virtual std::optional LaunchUrl(const std::string& url) = 0; // The codec used by UrlLauncherApi. static const flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `UrlLauncherApi` to handle messages through the - // `binary_messenger`. - static void SetUp(flutter::BinaryMessenger* binary_messenger, - UrlLauncherApi* api); + // Sets up an instance of `UrlLauncherApi` to handle messages through the `binary_messenger`. + static void SetUp( + flutter::BinaryMessenger* binary_messenger, + UrlLauncherApi* api); static flutter::EncodableValue WrapError(std::string_view error_message); static flutter::EncodableValue WrapError(const FlutterError& error); protected: UrlLauncherApi() = default; -}; +}; } // namespace url_launcher_windows - -#endif // PIGEON_H_ +#endif // PIGEON_MESSAGES_G_H_ From b2951d51ff7a40c985b1c0affeece7e3cfe5ff1c Mon Sep 17 00:00:00 2001 From: Alexander Aprelev Date: Fri, 7 Jul 2023 09:16:29 -0700 Subject: [PATCH 6/6] Format --- .../windows/messages.g.cpp | 123 +++++++++--------- .../url_launcher_windows/windows/messages.g.h | 26 ++-- 2 files changed, 77 insertions(+), 72 deletions(-) diff --git a/packages/url_launcher/url_launcher_windows/windows/messages.g.cpp b/packages/url_launcher/url_launcher_windows/windows/messages.g.cpp index 28e455abd46c..95f166821b5d 100644 --- a/packages/url_launcher/url_launcher_windows/windows/messages.g.cpp +++ b/packages/url_launcher/url_launcher_windows/windows/messages.g.cpp @@ -26,65 +26,74 @@ using flutter::EncodableValue; /// The codec used by UrlLauncherApi. const flutter::StandardMessageCodec& UrlLauncherApi::GetCodec() { - return flutter::StandardMessageCodec::GetInstance(&flutter::StandardCodecSerializer::GetInstance()); + return flutter::StandardMessageCodec::GetInstance( + &flutter::StandardCodecSerializer::GetInstance()); } -// Sets up an instance of `UrlLauncherApi` to handle messages through the `binary_messenger`. -void UrlLauncherApi::SetUp( - flutter::BinaryMessenger* binary_messenger, - UrlLauncherApi* api) { +// Sets up an instance of `UrlLauncherApi` to handle messages through the +// `binary_messenger`. +void UrlLauncherApi::SetUp(flutter::BinaryMessenger* binary_messenger, + UrlLauncherApi* api) { { - auto channel = std::make_unique>(binary_messenger, "dev.flutter.pigeon.UrlLauncherApi.canLaunchUrl", &GetCodec()); + auto channel = std::make_unique>( + binary_messenger, "dev.flutter.pigeon.UrlLauncherApi.canLaunchUrl", + &GetCodec()); if (api != nullptr) { - channel->SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_url_arg = args.at(0); - if (encodable_url_arg.IsNull()) { - reply(WrapError("url_arg unexpectedly null.")); - return; - } - const auto& url_arg = std::get(encodable_url_arg); - ErrorOr output = api->CanLaunchUrl(url_arg); - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); + channel->SetMessageHandler( + [api](const EncodableValue& message, + const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_url_arg = args.at(0); + if (encodable_url_arg.IsNull()) { + reply(WrapError("url_arg unexpectedly null.")); + return; + } + const auto& url_arg = std::get(encodable_url_arg); + ErrorOr output = api->CanLaunchUrl(url_arg); + if (output.has_error()) { + reply(WrapError(output.error())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue(std::move(output).TakeValue())); + reply(EncodableValue(std::move(wrapped))); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); } else { channel->SetMessageHandler(nullptr); } } { - auto channel = std::make_unique>(binary_messenger, "dev.flutter.pigeon.UrlLauncherApi.launchUrl", &GetCodec()); + auto channel = std::make_unique>( + binary_messenger, "dev.flutter.pigeon.UrlLauncherApi.launchUrl", + &GetCodec()); if (api != nullptr) { - channel->SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_url_arg = args.at(0); - if (encodable_url_arg.IsNull()) { - reply(WrapError("url_arg unexpectedly null.")); - return; - } - const auto& url_arg = std::get(encodable_url_arg); - std::optional output = api->LaunchUrl(url_arg); - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); + channel->SetMessageHandler( + [api](const EncodableValue& message, + const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_url_arg = args.at(0); + if (encodable_url_arg.IsNull()) { + reply(WrapError("url_arg unexpectedly null.")); + return; + } + const auto& url_arg = std::get(encodable_url_arg); + std::optional output = api->LaunchUrl(url_arg); + if (output.has_value()) { + reply(WrapError(output.value())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue()); + reply(EncodableValue(std::move(wrapped))); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); } else { channel->SetMessageHandler(nullptr); } @@ -92,19 +101,15 @@ void UrlLauncherApi::SetUp( } EncodableValue UrlLauncherApi::WrapError(std::string_view error_message) { - return EncodableValue(EncodableList{ - EncodableValue(std::string(error_message)), - EncodableValue("Error"), - EncodableValue() - }); + return EncodableValue( + EncodableList{EncodableValue(std::string(error_message)), + EncodableValue("Error"), EncodableValue()}); } EncodableValue UrlLauncherApi::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{ - EncodableValue(error.code()), - EncodableValue(error.message()), - error.details() - }); + return EncodableValue(EncodableList{EncodableValue(error.code()), + EncodableValue(error.message()), + error.details()}); } } // namespace url_launcher_windows diff --git a/packages/url_launcher/url_launcher_windows/windows/messages.g.h b/packages/url_launcher/url_launcher_windows/windows/messages.g.h index 5552756323f1..52407bf4c8db 100644 --- a/packages/url_launcher/url_launcher_windows/windows/messages.g.h +++ b/packages/url_launcher/url_launcher_windows/windows/messages.g.h @@ -17,17 +17,16 @@ namespace url_launcher_windows { - // Generated class from Pigeon. class FlutterError { public: - explicit FlutterError(const std::string& code) - : code_(code) {} + explicit FlutterError(const std::string& code) : code_(code) {} explicit FlutterError(const std::string& code, const std::string& message) - : code_(code), message_(message) {} - explicit FlutterError(const std::string& code, const std::string& message, const flutter::EncodableValue& details) - : code_(code), message_(message), details_(details) {} + : code_(code), message_(message) {} + explicit FlutterError(const std::string& code, const std::string& message, + const flutter::EncodableValue& details) + : code_(code), message_(message), details_(details) {} const std::string& code() const { return code_; } const std::string& message() const { return message_; } @@ -39,7 +38,8 @@ class FlutterError { flutter::EncodableValue details_; }; -template class ErrorOr { +template +class ErrorOr { public: ErrorOr(const T& rhs) : v_(rhs) {} ErrorOr(const T&& rhs) : v_(std::move(rhs)) {} @@ -58,7 +58,8 @@ template class ErrorOr { std::variant v_; }; -// Generated interface from Pigeon that represents a handler of messages from Flutter. +// Generated interface from Pigeon that represents a handler of messages from +// Flutter. class UrlLauncherApi { public: UrlLauncherApi(const UrlLauncherApi&) = delete; @@ -69,16 +70,15 @@ class UrlLauncherApi { // The codec used by UrlLauncherApi. static const flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `UrlLauncherApi` to handle messages through the `binary_messenger`. - static void SetUp( - flutter::BinaryMessenger* binary_messenger, - UrlLauncherApi* api); + // Sets up an instance of `UrlLauncherApi` to handle messages through the + // `binary_messenger`. + static void SetUp(flutter::BinaryMessenger* binary_messenger, + UrlLauncherApi* api); static flutter::EncodableValue WrapError(std::string_view error_message); static flutter::EncodableValue WrapError(const FlutterError& error); protected: UrlLauncherApi() = default; - }; } // namespace url_launcher_windows #endif // PIGEON_MESSAGES_G_H_