Flutter Engine
flutter::MethodCodec< T > Class Template Referenceabstract

#include <method_codec.h>

Public Member Functions

 MethodCodec ()=default
 
virtual ~MethodCodec ()=default
 
 MethodCodec (MethodCodec< T > const &)=delete
 
MethodCodecoperator= (MethodCodec< T > const &)=delete
 
std::unique_ptr< MethodCall< T > > DecodeMethodCall (const uint8_t *message, size_t message_size) const
 
std::unique_ptr< MethodCall< T > > DecodeMethodCall (const std::vector< uint8_t > &message) const
 
std::unique_ptr< std::vector< uint8_t > > EncodeMethodCall (const MethodCall< T > &method_call) const
 
std::unique_ptr< std::vector< uint8_t > > EncodeSuccessEnvelope (const T *result=nullptr) const
 
std::unique_ptr< std::vector< uint8_t > > EncodeErrorEnvelope (const std::string &error_code, const std::string &error_message="", const T *error_details=nullptr) const
 
bool DecodeAndProcessResponseEnvelope (const uint8_t *response, size_t response_size, MethodResult< T > *result) const
 

Protected Member Functions

virtual std::unique_ptr< MethodCall< T > > DecodeMethodCallInternal (const uint8_t *message, size_t message_size) const =0
 
virtual std::unique_ptr< std::vector< uint8_t > > EncodeMethodCallInternal (const MethodCall< T > &method_call) const =0
 
virtual std::unique_ptr< std::vector< uint8_t > > EncodeSuccessEnvelopeInternal (const T *result) const =0
 
virtual std::unique_ptr< std::vector< uint8_t > > EncodeErrorEnvelopeInternal (const std::string &error_code, const std::string &error_message, const T *error_details) const =0
 
virtual bool DecodeAndProcessResponseEnvelopeInternal (const uint8_t *response, size_t response_size, MethodResult< T > *result) const =0
 

Detailed Description

template<typename T>
class flutter::MethodCodec< T >

Definition at line 20 of file method_codec.h.

Constructor & Destructor Documentation

◆ MethodCodec() [1/2]

template<typename T>
flutter::MethodCodec< T >::MethodCodec ( )
default

◆ ~MethodCodec()

template<typename T>
virtual flutter::MethodCodec< T >::~MethodCodec ( )
virtualdefault

◆ MethodCodec() [2/2]

template<typename T>
flutter::MethodCodec< T >::MethodCodec ( MethodCodec< T > const &  )
delete

Member Function Documentation

◆ DecodeAndProcessResponseEnvelope()

template<typename T>
bool flutter::MethodCodec< T >::DecodeAndProcessResponseEnvelope ( const uint8_t *  response,
size_t  response_size,
MethodResult< T > *  result 
) const
inline

Definition at line 75 of file method_codec.h.

Referenced by flutter::TEST().

77  {
78  return DecodeAndProcessResponseEnvelopeInternal(response, response_size,
79  result);
80  }
virtual bool DecodeAndProcessResponseEnvelopeInternal(const uint8_t *response, size_t response_size, MethodResult< T > *result) const =0

◆ DecodeAndProcessResponseEnvelopeInternal()

template<typename T>
virtual bool flutter::MethodCodec< T >::DecodeAndProcessResponseEnvelopeInternal ( const uint8_t *  response,
size_t  response_size,
MethodResult< T > *  result 
) const
protectedpure virtual

◆ DecodeMethodCall() [1/2]

template<typename T>
std::unique_ptr<MethodCall<T> > flutter::MethodCodec< T >::DecodeMethodCall ( const uint8_t *  message,
size_t  message_size 
) const
inline

Definition at line 32 of file method_codec.h.

Referenced by flutter::TEST().

33  {
34  return std::move(DecodeMethodCallInternal(message, message_size));
35  }
virtual std::unique_ptr< MethodCall< T > > DecodeMethodCallInternal(const uint8_t *message, size_t message_size) const =0

◆ DecodeMethodCall() [2/2]

template<typename T>
std::unique_ptr<MethodCall<T> > flutter::MethodCodec< T >::DecodeMethodCall ( const std::vector< uint8_t > &  message) const
inline

Definition at line 39 of file method_codec.h.

40  {
41  size_t size = message.size();
42  const uint8_t* data = size > 0 ? &message[0] : nullptr;
43  return std::move(DecodeMethodCallInternal(data, size));
44  }
constexpr std::size_t size(T(&array)[N])
Definition: size.h:13
virtual std::unique_ptr< MethodCall< T > > DecodeMethodCallInternal(const uint8_t *message, size_t message_size) const =0

◆ DecodeMethodCallInternal()

template<typename T>
virtual std::unique_ptr<MethodCall<T> > flutter::MethodCodec< T >::DecodeMethodCallInternal ( const uint8_t *  message,
size_t  message_size 
) const
protectedpure virtual

◆ EncodeErrorEnvelope()

template<typename T>
std::unique_ptr<std::vector<uint8_t> > flutter::MethodCodec< T >::EncodeErrorEnvelope ( const std::string &  error_code,
const std::string &  error_message = "",
const T *  error_details = nullptr 
) const
inline

Definition at line 62 of file method_codec.h.

Referenced by flutter::EventChannel< T >::SetStreamHandler(), and flutter::TEST().

65  {
66  return std::move(
67  EncodeErrorEnvelopeInternal(error_code, error_message, error_details));
68  }
virtual std::unique_ptr< std::vector< uint8_t > > EncodeErrorEnvelopeInternal(const std::string &error_code, const std::string &error_message, const T *error_details) const =0

◆ EncodeErrorEnvelopeInternal()

template<typename T>
virtual std::unique_ptr<std::vector<uint8_t> > flutter::MethodCodec< T >::EncodeErrorEnvelopeInternal ( const std::string &  error_code,
const std::string &  error_message,
const T *  error_details 
) const
protectedpure virtual

◆ EncodeMethodCall()

template<typename T>
std::unique_ptr<std::vector<uint8_t> > flutter::MethodCodec< T >::EncodeMethodCall ( const MethodCall< T > &  method_call) const
inline

Definition at line 48 of file method_codec.h.

Referenced by flutter::TEST().

49  {
50  return std::move(EncodeMethodCallInternal(method_call));
51  }
G_BEGIN_DECLS FlMethodCall * method_call
virtual std::unique_ptr< std::vector< uint8_t > > EncodeMethodCallInternal(const MethodCall< T > &method_call) const =0

◆ EncodeMethodCallInternal()

template<typename T>
virtual std::unique_ptr<std::vector<uint8_t> > flutter::MethodCodec< T >::EncodeMethodCallInternal ( const MethodCall< T > &  method_call) const
protectedpure virtual

◆ EncodeSuccessEnvelope()

template<typename T>
std::unique_ptr<std::vector<uint8_t> > flutter::MethodCodec< T >::EncodeSuccessEnvelope ( const T *  result = nullptr) const
inline

Definition at line 55 of file method_codec.h.

Referenced by flutter::EventChannel< T >::SetStreamHandler(), and flutter::TEST().

56  {
57  return std::move(EncodeSuccessEnvelopeInternal(result));
58  }
virtual std::unique_ptr< std::vector< uint8_t > > EncodeSuccessEnvelopeInternal(const T *result) const =0

◆ EncodeSuccessEnvelopeInternal()

template<typename T>
virtual std::unique_ptr<std::vector<uint8_t> > flutter::MethodCodec< T >::EncodeSuccessEnvelopeInternal ( const T *  result) const
protectedpure virtual

◆ operator=()

template<typename T>
MethodCodec& flutter::MethodCodec< T >::operator= ( MethodCodec< T > const &  )
delete

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