5#ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_PLATFORM_HANDLER_H_
6#define FLUTTER_SHELL_PLATFORM_WINDOWS_PLATFORM_HANDLER_H_
15#include "flutter/fml/macros.h"
16#include "flutter/shell/platform/common/client_wrapper/include/flutter/binary_messenger.h"
17#include "flutter/shell/platform/common/client_wrapper/include/flutter/method_channel.h"
18#include "rapidjson/document.h"
22class FlutterWindowsEngine;
23class ScopedClipboardInterface;
33class PlatformHandler {
36 BinaryMessenger* messenger,
37 FlutterWindowsEngine*
engine,
38 std::optional<
std::function<std::unique_ptr<ScopedClipboardInterface>()>>
39 scoped_clipboard_provider = std::nullopt);
52 std::optional<WPARAM> wparam,
53 std::optional<LPARAM> lparam,
62 std::string_view
key);
72 const std::string&
text,
76 const std::string& sound_type,
89 std::optional<WPARAM> wparam,
90 std::optional<LPARAM> lparam,
98 std::optional<WPARAM> wparam,
99 std::optional<LPARAM> lparam,
100 const rapidjson::Document*
result,
110 void HandleMethodCall(
115 std::unique_ptr<MethodChannel<rapidjson::Document>> channel_;
123 std::function<std::unique_ptr<ScopedClipboardInterface>()>
124 scoped_clipboard_provider_;
147 virtual std::variant<std::wstring, int>
GetString() = 0;
virtual std::variant< std::wstring, int > GetString()=0
virtual int SetString(const std::wstring string)=0
virtual bool HasString()=0
virtual int Open(HWND window)=0
virtual ~ScopedClipboardInterface()
G_BEGIN_DECLS G_MODULE_EXPORT FlMethodCall * method_call
Dart_NativeFunction function