Flutter macOS 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 134 of file core_implementations.cc.

135  : reply_handler_(std::move(reply_handler)) {
136  assert(reply_handler_);
137 }

◆ ~ReplyManager()

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

Definition at line 139 of file core_implementations.cc.

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

◆ 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 149 of file core_implementations.cc.

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

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