Flutter Linux Embedder
flutter::internal::ReplyManager Class Reference

#include <engine_method_result.h>

Public Member Functions

 ReplyManager (BinaryReply reply_handler_)
 
 ~ReplyManager ()
 
 ReplyManager (ReplyManager const &)=delete
 
ReplyManageroperator= (ReplyManager const &)=delete
 
void SendResponseData (const std::vector< uint8_t > *data)
 

Detailed Description

Definition at line 22 of file engine_method_result.h.

Constructor & Destructor Documentation

◆ ReplyManager() [1/2]

flutter::internal::ReplyManager::ReplyManager ( BinaryReply  reply_handler_)
explicit

Definition at line 136 of file core_implementations.cc.

137  : reply_handler_(std::move(reply_handler)) {
138  assert(reply_handler_);
139 }

◆ ~ReplyManager()

flutter::internal::ReplyManager::~ReplyManager ( )

Definition at line 141 of file core_implementations.cc.

141  {
142  if (reply_handler_) {
143  // Warn, rather than send a not-implemented response, since the engine may
144  // no longer be valid at this point.
145  std::cerr
146  << "Warning: Failed to respond to a message. This is a memory leak."
147  << std::endl;
148  }
149 }

◆ ReplyManager() [2/2]

flutter::internal::ReplyManager::ReplyManager ( ReplyManager const &  )
delete

Member Function Documentation

◆ operator=()

ReplyManager& flutter::internal::ReplyManager::operator= ( ReplyManager const &  )
delete

◆ SendResponseData()

void flutter::internal::ReplyManager::SendResponseData ( const std::vector< uint8_t > *  data)

Definition at line 151 of file core_implementations.cc.

151  {
152  if (!reply_handler_) {
153  std::cerr
154  << "Error: Only one of Success, Error, or NotImplemented can be "
155  "called,"
156  << " and it can be called exactly once. Ignoring duplicate result."
157  << std::endl;
158  return;
159  }
160 
161  const uint8_t* message = data && !data->empty() ? data->data() : nullptr;
162  size_t message_size = data ? data->size() : 0;
163  reply_handler_(message, message_size);
164  reply_handler_ = nullptr;
165 }

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