20 g_return_val_if_fail(FL_IS_METHOD_CODEC(
self),
nullptr);
21 g_return_val_if_fail(name !=
nullptr,
nullptr);
23 return FL_METHOD_CODEC_GET_CLASS(
self)->encode_method_call(
self, name,
args,
32 g_return_val_if_fail(FL_IS_METHOD_CODEC(
self), FALSE);
33 g_return_val_if_fail(message !=
nullptr, FALSE);
34 g_return_val_if_fail(name !=
nullptr, FALSE);
35 g_return_val_if_fail(
args !=
nullptr, FALSE);
37 return FL_METHOD_CODEC_GET_CLASS(
self)->decode_method_call(
self, message,
44 g_return_val_if_fail(FL_IS_METHOD_CODEC(
self),
nullptr);
46 return FL_METHOD_CODEC_GET_CLASS(
self)->encode_success_envelope(
self, result,
55 g_return_val_if_fail(FL_IS_METHOD_CODEC(
self),
nullptr);
56 g_return_val_if_fail(code !=
nullptr,
nullptr);
58 return FL_METHOD_CODEC_GET_CLASS(
self)->encode_error_envelope(
59 self, code, message, details,
error);
63 FlMethodResponse* response,
65 g_return_val_if_fail(FL_IS_METHOD_CODEC(
self),
nullptr);
66 g_return_val_if_fail(FL_IS_METHOD_SUCCESS_RESPONSE(response) ||
67 FL_IS_METHOD_ERROR_RESPONSE(response) ||
68 FL_IS_METHOD_NOT_IMPLEMENTED_RESPONSE(response),
71 if (FL_IS_METHOD_SUCCESS_RESPONSE(response)) {
72 FlMethodSuccessResponse* r = FL_METHOD_SUCCESS_RESPONSE(response);
75 }
else if (FL_IS_METHOD_ERROR_RESPONSE(response)) {
76 FlMethodErrorResponse* r = FL_METHOD_ERROR_RESPONSE(response);
81 }
else if (FL_IS_METHOD_NOT_IMPLEMENTED_RESPONSE(response)) {
82 return g_bytes_new(
nullptr, 0);
84 g_assert_not_reached();
91 g_return_val_if_fail(FL_IS_METHOD_CODEC(
self),
nullptr);
92 g_return_val_if_fail(message !=
nullptr,
nullptr);
94 if (g_bytes_get_size(message) == 0) {
98 return FL_METHOD_CODEC_GET_CLASS(
self)->decode_response(
self, message,
error);
G_DEFINE_TYPE(FlBasicMessageChannelResponseHandle, fl_basic_message_channel_response_handle, G_TYPE_OBJECT) static void fl_basic_message_channel_response_handle_dispose(GObject *object)
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
GBytes * fl_method_codec_encode_success_envelope(FlMethodCodec *self, FlValue *result, GError **error)
GBytes * fl_method_codec_encode_response(FlMethodCodec *self, FlMethodResponse *response, GError **error)
GBytes * fl_method_codec_encode_error_envelope(FlMethodCodec *self, const gchar *code, const gchar *message, FlValue *details, GError **error)
static void fl_method_codec_init(FlMethodCodec *self)
static void fl_method_codec_class_init(FlMethodCodecClass *klass)
GBytes * fl_method_codec_encode_method_call(FlMethodCodec *self, const gchar *name, FlValue *args, GError **error)
gboolean fl_method_codec_decode_method_call(FlMethodCodec *self, GBytes *message, gchar **name, FlValue **args, GError **error)
FlMethodResponse * fl_method_codec_decode_response(FlMethodCodec *self, GBytes *message, GError **error)
G_MODULE_EXPORT const gchar * fl_method_error_response_get_code(FlMethodErrorResponse *self)
G_MODULE_EXPORT const gchar * fl_method_error_response_get_message(FlMethodErrorResponse *self)
G_MODULE_EXPORT FlValue * fl_method_success_response_get_result(FlMethodSuccessResponse *self)
G_MODULE_EXPORT FlMethodNotImplementedResponse * fl_method_not_implemented_response_new()
G_MODULE_EXPORT FlValue * fl_method_error_response_get_details(FlMethodErrorResponse *self)
const uint8_t uint32_t uint32_t GError ** error
typedefG_BEGIN_DECLS struct _FlValue FlValue