Flutter Engine
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_)

Definition at line 118 of file core_implementations.cc.

119  : reply_handler_(std::move(reply_handler)) {
120  assert(reply_handler_);
121 }

◆ ~ReplyManager()

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

Definition at line 123 of file core_implementations.cc.

123  {
124  if (reply_handler_) {
125  // Warn, rather than send a not-implemented response, since the engine may
126  // no longer be valid at this point.
127  std::cerr
128  << "Warning: Failed to respond to a message. This is a memory leak."
129  << std::endl;
130  }
131 }

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

133  {
134  if (!reply_handler_) {
135  std::cerr
136  << "Error: Only one of Success, Error, or NotImplemented can be "
137  "called,"
138  << " and it can be called exactly once. Ignoring duplicate result."
139  << std::endl;
140  return;
141  }
142 
143  const uint8_t* message = data && !data->empty() ? data->data() : nullptr;
144  size_t message_size = data ? data->size() : 0;
145  reply_handler_(message, message_size);
146  reply_handler_ = nullptr;
147 }

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