5#include "flutter/shell/platform/linux/public/flutter_linux/fl_method_call.h"
6#include "flutter/shell/platform/linux/fl_method_call_private.h"
7#include "flutter/shell/platform/linux/fl_method_channel_private.h"
28 FlMethodCall*
self = FL_METHOD_CALL(
object);
30 g_clear_pointer(&
self->name, g_free);
32 g_clear_object(&
self->channel);
33 g_clear_object(&
self->response_handle);
35 G_OBJECT_CLASS(fl_method_call_parent_class)->dispose(
object);
47 FlMethodChannel* channel,
48 FlBinaryMessengerResponseHandle* response_handle) {
49 g_return_val_if_fail(
name !=
nullptr,
nullptr);
50 g_return_val_if_fail(
args !=
nullptr,
nullptr);
51 g_return_val_if_fail(FL_IS_METHOD_CHANNEL(channel),
nullptr);
52 g_return_val_if_fail(FL_IS_BINARY_MESSENGER_RESPONSE_HANDLE(response_handle),
56 FL_METHOD_CALL(g_object_new(fl_method_call_get_type(),
nullptr));
60 self->channel = FL_METHOD_CHANNEL(g_object_ref(channel));
61 self->response_handle =
62 FL_BINARY_MESSENGER_RESPONSE_HANDLE(g_object_ref(response_handle));
68 g_return_val_if_fail(FL_IS_METHOD_CALL(
self),
nullptr);
73 g_return_val_if_fail(FL_IS_METHOD_CALL(
self),
nullptr);
78 FlMethodResponse* response,
80 g_return_val_if_fail(FL_IS_METHOD_CALL(
self),
FALSE);
81 g_return_val_if_fail(FL_IS_METHOD_RESPONSE(response),
FALSE);
83 g_autoptr(GError) local_error =
nullptr;
88 if (
error ==
nullptr) {
89 g_warning(
"Failed to send method call response: %s",
90 local_error->message);
93 g_propagate_error(
error, local_error);
103 g_return_val_if_fail(FL_IS_METHOD_CALL(
self),
FALSE);
105 g_autoptr(FlMethodResponse) response =
116 g_return_val_if_fail(FL_IS_METHOD_CALL(
self),
FALSE);
117 g_return_val_if_fail(
code !=
nullptr,
FALSE);
119 g_autoptr(FlMethodResponse) response =
128 g_return_val_if_fail(FL_IS_METHOD_CALL(
self),
FALSE);
130 g_autoptr(FlMethodResponse) response =
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
static void fl_method_call_init(FlMethodCall *self)
G_MODULE_EXPORT gboolean fl_method_call_respond_error(FlMethodCall *self, const gchar *code, const gchar *message, FlValue *details, GError **error)
G_MODULE_EXPORT const gchar * fl_method_call_get_name(FlMethodCall *self)
static void fl_method_call_class_init(FlMethodCallClass *klass)
G_MODULE_EXPORT gboolean fl_method_call_respond(FlMethodCall *self, FlMethodResponse *response, GError **error)
G_MODULE_EXPORT gboolean fl_method_call_respond_success(FlMethodCall *self, FlValue *result, GError **error)
FlMethodCall * fl_method_call_new(const gchar *name, FlValue *args, FlMethodChannel *channel, FlBinaryMessengerResponseHandle *response_handle)
static void fl_method_call_dispose(GObject *object)
G_MODULE_EXPORT gboolean fl_method_call_respond_not_implemented(FlMethodCall *self, GError **error)
G_MODULE_EXPORT FlValue * fl_method_call_get_args(FlMethodCall *self)
gboolean fl_method_channel_respond(FlMethodChannel *self, FlBinaryMessengerResponseHandle *response_handle, FlMethodResponse *response, GError **error)
G_MODULE_EXPORT FlMethodErrorResponse * fl_method_error_response_new(const gchar *code, const gchar *message, FlValue *details)
G_MODULE_EXPORT FlMethodSuccessResponse * fl_method_success_response_new(FlValue *result)
G_MODULE_EXPORT FlMethodNotImplementedResponse * fl_method_not_implemented_response_new()
const uint8_t uint32_t uint32_t GError ** error
G_MODULE_EXPORT FlValue * fl_value_ref(FlValue *self)
G_MODULE_EXPORT void fl_value_unref(FlValue *self)
typedefG_BEGIN_DECLS struct _FlValue FlValue
DEF_SWITCHES_START aot vmservice shared library name
FlBinaryMessengerResponseHandle * response_handle
FlMethodChannel * channel