Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | List of all members
flutter::PlatformViewManager Class Referenceabstract

#include <platform_view_manager.h>

Inheritance diagram for flutter::PlatformViewManager:
flutter::PlatformViewPlugin flutter::MockPlatformViewManager

Public Member Functions

 PlatformViewManager (BinaryMessenger *binary_messenger)
 
virtual ~PlatformViewManager ()
 
virtual bool AddPlatformView (PlatformViewId id, std::string_view type_name)=0
 
virtual bool FocusPlatformView (PlatformViewId id, FocusChangeDirection direction, bool focus)=0
 

Detailed Description

Definition at line 27 of file platform_view_manager.h.

Constructor & Destructor Documentation

◆ PlatformViewManager()

flutter::PlatformViewManager::PlatformViewManager ( BinaryMessenger binary_messenger)

Definition at line 21 of file platform_view_manager.cc.

22 : channel_(std::make_unique<MethodChannel<EncodableValue>>(
23 binary_messenger,
26 channel_->SetMethodCallHandler(
27 [this](const MethodCall<EncodableValue>& call,
28 std::unique_ptr<MethodResult<EncodableValue>> result) {
29 const auto& args = std::get<EncodableMap>(*call.arguments());
30 if (call.method_name() == kCreateMethod) {
31 const auto& type_itr = args.find(EncodableValue(kViewTypeParameter));
32 const auto& id_itr = args.find(EncodableValue(kIdParameter));
33 if (type_itr == args.end()) {
34 result->Error("AddPlatformView", "Parameter viewType is required");
35 return;
36 }
37 if (id_itr == args.end()) {
38 result->Error("AddPlatformView", "Parameter id is required");
39 return;
40 }
41 const auto& type = std::get<std::string>(type_itr->second);
42 const auto& id = std::get<std::int32_t>(id_itr->second);
43 if (AddPlatformView(id, type)) {
44 result->Success();
45 } else {
46 result->Error("AddPlatformView", "Failed to add platform view");
47 }
48 return;
49 } else if (call.method_name() == kFocusMethod) {
50 const auto& id_itr = args.find(EncodableValue(kIdParameter));
51 const auto& direction_itr =
52 args.find(EncodableValue(kDirectionParameter));
53 const auto& focus_itr = args.find(EncodableValue(kFocusParameter));
54 if (id_itr == args.end()) {
55 result->Error("FocusPlatformView", "Parameter id is required");
56 return;
57 }
58 if (direction_itr == args.end()) {
59 result->Error("FocusPlatformView",
60 "Parameter direction is required");
61 return;
62 }
63 if (focus_itr == args.end()) {
64 result->Error("FocusPlatformView", "Parameter focus is required");
65 return;
66 }
67 const auto& id = std::get<std::int32_t>(id_itr->second);
68 const auto& direction = std::get<std::int32_t>(direction_itr->second);
69 const auto& focus = std::get<bool>(focus_itr->second);
71 id, static_cast<FocusChangeDirection>(direction), focus)) {
72 result->Success();
73 } else {
74 result->Error("FocusPlatformView", "Failed to focus platform view");
75 }
76 return;
77 }
78 result->NotImplemented();
79 });
80}
static NSString *const kChannelName
virtual bool FocusPlatformView(PlatformViewId id, FocusChangeDirection direction, bool focus)=0
virtual bool AddPlatformView(PlatformViewId id, std::string_view type_name)=0
static const StandardMethodCodec & GetInstance(const StandardCodecSerializer *serializer=nullptr)
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
GAsyncResult * result
call(args)
Definition dom.py:159

◆ ~PlatformViewManager()

flutter::PlatformViewManager::~PlatformViewManager ( )
virtual

Definition at line 82 of file platform_view_manager.cc.

82{}

Member Function Documentation

◆ AddPlatformView()

virtual bool flutter::PlatformViewManager::AddPlatformView ( PlatformViewId  id,
std::string_view  type_name 
)
pure virtual

Implemented in flutter::PlatformViewPlugin.

◆ FocusPlatformView()

virtual bool flutter::PlatformViewManager::FocusPlatformView ( PlatformViewId  id,
FocusChangeDirection  direction,
bool  focus 
)
pure virtual

Implemented in flutter::PlatformViewPlugin.


The documentation for this class was generated from the following files: