Flutter Linux Embedder
flutter::internal Namespace Reference

Classes

class  ReplyManager
 

Typedefs

using EncodableValueVariant = std::variant< std::monostate, bool, int32_t, int64_t, double, std::string, std::vector< uint8_t >, std::vector< int32_t >, std::vector< int64_t >, std::vector< double >, EncodableList, EncodableMap, CustomEncodableValue, std::vector< float > >
 

Functions

void ResizeChannel (BinaryMessenger *messenger, std::string name, int new_size)
 
void SetChannelWarnsOnOverflow (BinaryMessenger *messenger, std::string name, bool warns)
 

Typedef Documentation

◆ EncodableValueVariant

using flutter::internal::EncodableValueVariant = typedef std::variant<std::monostate, bool, int32_t, int64_t, double, std::string, std::vector<uint8_t>, std::vector<int32_t>, std::vector<int64_t>, std::vector<double>, EncodableList, EncodableMap, CustomEncodableValue, std::vector<float> >

Definition at line 116 of file encodable_value.h.

Function Documentation

◆ ResizeChannel()

void flutter::internal::ResizeChannel ( BinaryMessenger messenger,
std::string  name,
int  new_size 
)

Definition at line 181 of file core_implementations.cc.

181  {
182  auto control_channel = std::make_unique<MethodChannel<EncodableValue>>(
183  messenger, kControlChannelName, &StandardMethodCodec::GetInstance());
184 
185  // The deserialization logic handles only 32 bits values, see
186  // https://github.com/flutter/engine/blob/93e8901490e78c7ba7e319cce4470d9c6478c6dc/lib/ui/channel_buffers.dart#L495.
187  control_channel->InvokeMethod(
188  kResizeMethod, std::make_unique<EncodableValue>(EncodableList{
189  EncodableValue(name),
190  EncodableValue(static_cast<int32_t>(new_size)),
191  }));
192 }

References flutter::StandardMethodCodec::GetInstance(), kControlChannelName, and kResizeMethod.

Referenced by flutter::BasicMessageChannel< T >::Resize(), and flutter::MethodChannel< T >::Resize().

◆ SetChannelWarnsOnOverflow()

void flutter::internal::SetChannelWarnsOnOverflow ( BinaryMessenger messenger,
std::string  name,
bool  warns 
)

Definition at line 194 of file core_implementations.cc.

196  {
197  auto control_channel = std::make_unique<MethodChannel<EncodableValue>>(
198  messenger, kControlChannelName, &StandardMethodCodec::GetInstance());
199 
200  control_channel->InvokeMethod(kOverflowMethod,
201  std::make_unique<EncodableValue>(EncodableList{
202  EncodableValue(name),
203  EncodableValue(!warns),
204  }));
205 }

References flutter::StandardMethodCodec::GetInstance(), kControlChannelName, and kOverflowMethod.

Referenced by flutter::BasicMessageChannel< T >::SetWarnsOnOverflow(), and flutter::MethodChannel< T >::SetWarnsOnOverflow().

kResizeMethod
static constexpr char kResizeMethod[]
Definition: fl_binary_messenger.cc:19
kOverflowMethod
static constexpr char kOverflowMethod[]
Definition: fl_binary_messenger.cc:20
kControlChannelName
static constexpr char kControlChannelName[]
Definition: fl_binary_messenger.cc:18
flutter::EncodableList
std::vector< EncodableValue > EncodableList
Definition: encodable_value.h:94