5 #ifndef FLUTTER_SHELL_PLATFORM_COMMON_CLIENT_WRAPPER_INCLUDE_FLUTTER_METHOD_CODEC_H_
6 #define FLUTTER_SHELL_PLATFORM_COMMON_CLIENT_WRAPPER_INCLUDE_FLUTTER_METHOD_CODEC_H_
33 size_t message_size)
const {
40 const std::vector<uint8_t>& message)
const {
41 size_t size = message.size();
42 const uint8_t* data = size > 0 ? &message[0] :
nullptr;
56 const T* result =
nullptr)
const {
63 const std::string& error_code,
64 const std::string& error_message =
"",
65 const T* error_details =
nullptr)
const {
85 const uint8_t* message,
86 size_t message_size)
const = 0;
94 const T* result)
const = 0;
98 const std::string& error_code,
99 const std::string& error_message,
100 const T* error_details)
const = 0;
104 const uint8_t* response,
105 size_t response_size,
virtual bool DecodeAndProcessResponseEnvelopeInternal(const uint8_t *response, size_t response_size, MethodResult< T > *result) const =0
virtual std::unique_ptr< std::vector< uint8_t > > EncodeMethodCallInternal(const MethodCall< T > &method_call) const =0
std::unique_ptr< MethodCall< T > > DecodeMethodCall(const uint8_t *message, size_t message_size) const
MethodCodec(MethodCodec< T > const &)=delete
bool DecodeAndProcessResponseEnvelope(const uint8_t *response, size_t response_size, MethodResult< T > *result) const
std::unique_ptr< MethodCall< T > > DecodeMethodCall(const std::vector< uint8_t > &message) const
virtual std::unique_ptr< std::vector< uint8_t > > EncodeSuccessEnvelopeInternal(const T *result) const =0
std::unique_ptr< std::vector< uint8_t > > EncodeErrorEnvelope(const std::string &error_code, const std::string &error_message="", const T *error_details=nullptr) const
MethodCodec & operator=(MethodCodec< T > const &)=delete
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 > > EncodeErrorEnvelopeInternal(const std::string &error_code, const std::string &error_message, const T *error_details) const =0
std::unique_ptr< std::vector< uint8_t > > EncodeSuccessEnvelope(const T *result=nullptr) const
std::unique_ptr< std::vector< uint8_t > > EncodeMethodCall(const MethodCall< T > &method_call) const
virtual ~MethodCodec()=default
G_BEGIN_DECLS G_MODULE_EXPORT FlMethodCall * method_call