// 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. // Autogenerated from Pigeon (v27.3.2), do not edit directly. // See also: https://pub.dev/packages/pigeon #ifndef PIGEON_MESSAGES_G_H_ #define PIGEON_MESSAGES_G_H_ #include #include #include #include #include #include #include #include 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, 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) {} const std::string& code() const { return code_; } const std::string& message() const { return message_; } const ::flutter::EncodableValue& details() const { return details_; } private: std::string code_; std::string message_; ::flutter::EncodableValue details_; }; template class ErrorOr { public: 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_); }; const FlutterError& error() const { return std::get(v_); }; private: friend class UrlLauncherApi; ErrorOr() = default; T TakeValue() && { return std::get(std::move(v_)); } std::variant v_; }; class PigeonInternalCodecSerializer : public ::flutter::StandardCodecSerializer { public: PigeonInternalCodecSerializer(); inline static PigeonInternalCodecSerializer& GetInstance() { static PigeonInternalCodecSerializer sInstance; return sInstance; } void WriteValue(const ::flutter::EncodableValue& value, ::flutter::ByteStreamWriter* stream) const override; protected: ::flutter::EncodableValue ReadValueOfType( uint8_t type, ::flutter::ByteStreamReader* stream) const override; }; // 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 ErrorOr CanLaunchUrl(const std::string& url) = 0; virtual ErrorOr 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); static void SetUp(::flutter::BinaryMessenger* binary_messenger, UrlLauncherApi* api, const std::string& message_channel_suffix); 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_