Skip to content

Commit 044f254

Browse files
Use the term 'handler' for registering callbacks. (#18269)
This is the term used in the Dart code and which callback is more commonly used in GLib matching the Dart code will make developers life easier.
1 parent ccfec72 commit 044f254

File tree

4 files changed

+63
-63
lines changed

4 files changed

+63
-63
lines changed

shell/platform/linux/fl_binary_messenger.cc

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,23 @@ struct _FlBinaryMessenger {
2222
G_DEFINE_TYPE(FlBinaryMessenger, fl_binary_messenger, G_TYPE_OBJECT)
2323

2424
typedef struct {
25-
FlBinaryMessengerCallback callback;
26-
gpointer user_data;
25+
FlBinaryMessengerMessageHandler message_handler;
26+
gpointer message_handler_data;
2727
} PlatformMessageHandler;
2828

2929
PlatformMessageHandler* platform_message_handler_new(
30-
FlBinaryMessengerCallback callback,
30+
FlBinaryMessengerMessageHandler handler,
3131
gpointer user_data) {
32-
PlatformMessageHandler* handler = static_cast<PlatformMessageHandler*>(
32+
PlatformMessageHandler* self = static_cast<PlatformMessageHandler*>(
3333
g_malloc0(sizeof(PlatformMessageHandler)));
34-
handler->callback = callback;
35-
handler->user_data = user_data;
36-
return handler;
34+
self->message_handler = handler;
35+
self->message_handler_data = user_data;
36+
return self;
3737
}
3838

3939
void platform_message_handler_free(gpointer data) {
40-
PlatformMessageHandler* handler = static_cast<PlatformMessageHandler*>(data);
41-
g_free(handler);
40+
PlatformMessageHandler* self = static_cast<PlatformMessageHandler*>(data);
41+
g_free(self);
4242
}
4343

4444
struct _FlBinaryMessengerResponseHandle {
@@ -47,16 +47,16 @@ struct _FlBinaryMessengerResponseHandle {
4747

4848
static FlBinaryMessengerResponseHandle* response_handle_new(
4949
const FlutterPlatformMessageResponseHandle* response_handle) {
50-
FlBinaryMessengerResponseHandle* handle =
50+
FlBinaryMessengerResponseHandle* self =
5151
static_cast<FlBinaryMessengerResponseHandle*>(
5252
g_malloc0(sizeof(FlBinaryMessengerResponseHandle)));
53-
handle->response_handle = response_handle;
53+
self->response_handle = response_handle;
5454

55-
return handle;
55+
return self;
5656
}
5757

58-
static void response_handle_free(FlBinaryMessengerResponseHandle* handle) {
59-
g_free(handle);
58+
static void response_handle_free(FlBinaryMessengerResponseHandle* self) {
59+
g_free(self);
6060
}
6161

6262
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FlBinaryMessengerResponseHandle,
@@ -67,7 +67,7 @@ static void engine_weak_notify_cb(gpointer user_data, GObject* object) {
6767
self->engine = nullptr;
6868
}
6969

70-
static gboolean fl_binary_messenger_platform_message_callback(
70+
static gboolean fl_binary_messenger_platform_message_cb(
7171
FlEngine* engine,
7272
const gchar* channel,
7373
GBytes* message,
@@ -83,7 +83,8 @@ static gboolean fl_binary_messenger_platform_message_callback(
8383
if (handler == nullptr)
8484
return FALSE;
8585

86-
handler->callback(self, channel, message, handle, handler->user_data);
86+
handler->message_handler(self, channel, message, handle,
87+
handler->message_handler_data);
8788

8889
return TRUE;
8990
}
@@ -120,24 +121,24 @@ FlBinaryMessenger* fl_binary_messenger_new(FlEngine* engine) {
120121
g_object_weak_ref(G_OBJECT(engine), engine_weak_notify_cb, self);
121122

122123
fl_engine_set_platform_message_handler(
123-
engine, fl_binary_messenger_platform_message_callback, self);
124+
engine, fl_binary_messenger_platform_message_cb, self);
124125

125126
return self;
126127
}
127128

128129
G_MODULE_EXPORT void fl_binary_messenger_set_message_handler_on_channel(
129130
FlBinaryMessenger* self,
130131
const gchar* channel,
131-
FlBinaryMessengerCallback callback,
132+
FlBinaryMessengerMessageHandler handler,
132133
gpointer user_data) {
133134
g_return_if_fail(FL_IS_BINARY_MESSENGER(self));
134135
g_return_if_fail(channel != nullptr);
135-
g_return_if_fail(callback != nullptr);
136136

137-
PlatformMessageHandler* handler =
138-
platform_message_handler_new(callback, user_data);
139-
g_hash_table_replace(self->platform_message_handlers, g_strdup(channel),
140-
handler);
137+
if (handler != nullptr)
138+
g_hash_table_replace(self->platform_message_handlers, g_strdup(channel),
139+
platform_message_handler_new(handler, user_data));
140+
else
141+
g_hash_table_remove(self->platform_message_handlers, channel);
141142
}
142143

143144
G_MODULE_EXPORT gboolean fl_binary_messenger_send_response(

shell/platform/linux/fl_engine.cc

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ struct _FlEngine {
2727
FLUTTER_API_SYMBOL(FlutterEngine) engine;
2828

2929
// Function to call when a platform message is received
30-
FlEnginePlatformMessageCallback platform_message_callback;
31-
gpointer platform_message_callback_data;
30+
FlEnginePlatformMessageHandler platform_message_handler;
31+
gpointer platform_message_handler_data;
3232
};
3333

3434
G_DEFINE_QUARK(fl_engine_error_quark, fl_engine_error)
@@ -92,7 +92,7 @@ static bool fl_engine_gl_clear_current(void* user_data) {
9292
return result;
9393
}
9494

95-
static uint32_t fl_engine_gl_fbo_callback(void* user_data) {
95+
static uint32_t fl_engine_gl_get_fbo(void* user_data) {
9696
FlEngine* self = static_cast<FlEngine*>(user_data);
9797
return fl_renderer_get_fbo(self->renderer);
9898
}
@@ -111,9 +111,9 @@ static bool fl_engine_runs_task_on_current_thread(void* user_data) {
111111
return self->thread == g_thread_self();
112112
}
113113

114-
static void fl_engine_post_task_callback(FlutterTask task,
115-
uint64_t target_time_nanos,
116-
void* user_data) {
114+
static void fl_engine_post_task(FlutterTask task,
115+
uint64_t target_time_nanos,
116+
void* user_data) {
117117
FlEngine* self = static_cast<FlEngine*>(user_data);
118118

119119
g_autoptr(GSource) source =
@@ -126,28 +126,27 @@ static void fl_engine_post_task_callback(FlutterTask task,
126126
g_source_attach(source, nullptr);
127127
}
128128

129-
static void fl_engine_platform_message_callback(
130-
const FlutterPlatformMessage* message,
131-
void* user_data) {
129+
static void fl_engine_platform_message_cb(const FlutterPlatformMessage* message,
130+
void* user_data) {
132131
FlEngine* self = FL_ENGINE(user_data);
133132

134133
gboolean handled = FALSE;
135-
if (self->platform_message_callback != nullptr) {
134+
if (self->platform_message_handler != nullptr) {
136135
g_autoptr(GBytes) data =
137136
g_bytes_new(message->message, message->message_size);
138-
handled = self->platform_message_callback(
137+
handled = self->platform_message_handler(
139138
self, message->channel, data, message->response_handle,
140-
self->platform_message_callback_data);
139+
self->platform_message_handler_data);
141140
}
142141

143142
if (!handled)
144143
fl_engine_send_platform_message_response(self, message->response_handle,
145144
nullptr, nullptr);
146145
}
147146

148-
static void fl_engine_platform_message_response_callback(const uint8_t* data,
149-
size_t data_length,
150-
void* user_data) {
147+
static void fl_engine_platform_message_response_cb(const uint8_t* data,
148+
size_t data_length,
149+
void* user_data) {
151150
g_autoptr(GTask) task = G_TASK(user_data);
152151
g_task_return_pointer(task, g_bytes_new(data, data_length),
153152
(GDestroyNotify)g_bytes_unref);
@@ -198,15 +197,15 @@ gboolean fl_engine_start(FlEngine* self, GError** error) {
198197
config.open_gl.gl_proc_resolver = fl_engine_gl_proc_resolver;
199198
config.open_gl.make_current = fl_engine_gl_make_current;
200199
config.open_gl.clear_current = fl_engine_gl_clear_current;
201-
config.open_gl.fbo_callback = fl_engine_gl_fbo_callback;
200+
config.open_gl.fbo_callback = fl_engine_gl_get_fbo;
202201
config.open_gl.present = fl_engine_gl_present;
203202

204203
FlutterTaskRunnerDescription platform_task_runner = {};
205204
platform_task_runner.struct_size = sizeof(FlutterTaskRunnerDescription);
206205
platform_task_runner.user_data = self;
207206
platform_task_runner.runs_task_on_current_thread_callback =
208207
fl_engine_runs_task_on_current_thread;
209-
platform_task_runner.post_task_callback = fl_engine_post_task_callback;
208+
platform_task_runner.post_task_callback = fl_engine_post_task;
210209
platform_task_runner.identifier = kPlatformTaskRunnerIdentifier;
211210

212211
FlutterCustomTaskRunners custom_task_runners = {};
@@ -217,7 +216,7 @@ gboolean fl_engine_start(FlEngine* self, GError** error) {
217216
args.struct_size = sizeof(FlutterProjectArgs);
218217
args.assets_path = fl_dart_project_get_assets_path(self->project);
219218
args.icu_data_path = fl_dart_project_get_icu_data_path(self->project);
220-
args.platform_message_callback = fl_engine_platform_message_callback;
219+
args.platform_message_callback = fl_engine_platform_message_cb;
221220
args.custom_task_runners = &custom_task_runners;
222221

223222
FlutterEngineResult result = FlutterEngineInitialize(
@@ -240,13 +239,13 @@ gboolean fl_engine_start(FlEngine* self, GError** error) {
240239

241240
void fl_engine_set_platform_message_handler(
242241
FlEngine* self,
243-
FlEnginePlatformMessageCallback callback,
242+
FlEnginePlatformMessageHandler handler,
244243
gpointer user_data) {
245244
g_return_if_fail(FL_IS_ENGINE(self));
246-
g_return_if_fail(callback != nullptr);
245+
g_return_if_fail(handler != nullptr);
247246

248-
self->platform_message_callback = callback;
249-
self->platform_message_callback_data = user_data;
247+
self->platform_message_handler = handler;
248+
self->platform_message_handler_data = user_data;
250249
}
251250

252251
gboolean fl_engine_send_platform_message_response(
@@ -288,7 +287,7 @@ void fl_engine_send_platform_message(FlEngine* self,
288287
task = g_task_new(self, cancellable, callback, user_data);
289288

290289
FlutterEngineResult result = FlutterPlatformMessageCreateResponseHandle(
291-
self->engine, fl_engine_platform_message_response_callback, task,
290+
self->engine, fl_engine_platform_message_response_cb, task,
292291
&response_handle);
293292
if (result != kSuccess) {
294293
g_task_return_new_error(task, fl_engine_error_quark(),

shell/platform/linux/fl_engine_private.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,18 @@ typedef enum {
2626
GQuark fl_engine_error_quark(void) G_GNUC_CONST;
2727

2828
/**
29-
* FlEnginePlatformMessageCallback:
29+
* FlEnginePlatformMessageHandler:
3030
* @engine: a #FlEngine
3131
* @channel: channel message received on.
3232
* @message: message content received from Dart
3333
* @response_handle: a handle to respond to the message with
34-
* @user_data: (closure): data provided when registering this callback
34+
* @user_data: (closure): data provided when registering this handler
3535
*
3636
* Function called when platform messages are received.
3737
*
3838
* Returns: %TRUE if message has been accepted.
3939
*/
40-
typedef gboolean (*FlEnginePlatformMessageCallback)(
40+
typedef gboolean (*FlEnginePlatformMessageHandler)(
4141
FlEngine* engine,
4242
const gchar* channel,
4343
GBytes* message,
@@ -58,18 +58,18 @@ FlEngine* fl_engine_new(FlDartProject* project, FlRenderer* renderer);
5858
/**
5959
* fl_engine_set_platform_message_handler:
6060
* @engine: a #FlEngine
61-
* @callback: function to call when a platform message is received
62-
* @user_data: (closure): user data to pass to @callback
61+
* @handler: function to call when a platform message is received
62+
* @user_data: (closure): user data to pass to @handler
6363
*
64-
* Register a callback to handle platform messages. Call
64+
* Register a handler to handle platform messages. Call
6565
* fl_engine_send_platform_message_response() when this message should be
6666
* responded to. Ownership of #FlutterPlatformMessageResponseHandle is
6767
* transferred to the caller, and the call must be responded to to avoid
6868
* memory leaks.
6969
*/
7070
void fl_engine_set_platform_message_handler(
7171
FlEngine* engine,
72-
FlEnginePlatformMessageCallback callback,
72+
FlEnginePlatformMessageHandler handler,
7373
gpointer user_data);
7474

7575
/**
@@ -119,7 +119,7 @@ void fl_engine_send_mouse_pointer_event(FlEngine* engine,
119119
/**
120120
* fl_engine_send_platform_message_response:
121121
* @engine: a #FlEngine
122-
* @response_handle: handle that was provided in the callback.
122+
* @handle: handle that was provided in #FlEnginePlatformMessageHandler
123123
* @response: (allow-none): response to send or %NULL for an empty response.
124124
* @error: (allow-none): #GError location to store the error occurring, or %NULL
125125
* to ignore.

shell/platform/linux/public/flutter_linux/fl_binary_messenger.h

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,17 @@ G_DECLARE_FINAL_TYPE(FlBinaryMessenger,
3535
typedef struct _FlBinaryMessengerResponseHandle FlBinaryMessengerResponseHandle;
3636

3737
/**
38-
* FlBinaryMessengerCallback:
38+
* FlBinaryMessengerMessageHandler:
3939
* @messenger: a #FlBinaryMessenger
4040
* @channel: channel message received on
4141
* @message: message content received from Dart
4242
* @response_handle: (transfer full): a handle to respond to the message with
43-
* @user_data: (closure): data provided when registering this callback
43+
* @user_data: (closure): data provided when registering this handler
4444
*
4545
* Function called when platform messages are received. The receiver must
46-
* respond to the message to avoid leaking the handle, see the documentation on
47-
* the code that generated the callback as to which function to call.
46+
* call fl_binary_messenger_send_response() to avoid leaking the handle.
4847
*/
49-
typedef void (*FlBinaryMessengerCallback)(
48+
typedef void (*FlBinaryMessengerMessageHandler)(
5049
FlBinaryMessenger* messenger,
5150
const gchar* channel,
5251
GBytes* message,
@@ -57,8 +56,9 @@ typedef void (*FlBinaryMessengerCallback)(
5756
* fl_binary_messenger_set_platform_message_handler:
5857
* @binary_messenger: a #FlBinaryMessenger
5958
* @channel: channel to listen on
60-
* @callback: function to call when a message is received on this channel
61-
* @user_data: (closure): user data to pass to @callback
59+
* @handler: (allow-none): function to call when a message is received on this
60+
* channel or %NULL to disable a handler
61+
* @user_data: (closure): user data to pass to @handler
6262
*
6363
* Set the function called when a platform message is received on the given
6464
* channel. Call fl_binary_messenger_send_response() when the message is
@@ -68,14 +68,14 @@ typedef void (*FlBinaryMessengerCallback)(
6868
void fl_binary_messenger_set_message_handler_on_channel(
6969
FlBinaryMessenger* messenger,
7070
const gchar* channel,
71-
FlBinaryMessengerCallback callback,
71+
FlBinaryMessengerMessageHandler handler,
7272
gpointer user_data);
7373

7474
/**
7575
* fl_binary_messenger_send_response:
7676
* @binary_messenger: a #FlBinaryMessenger
7777
* @response_handle: (transfer full): handle that was provided in a
78-
* #FlBinaryMessengerCallback
78+
* #FlBinaryMessengerMessageHandler
7979
* @response: (allow-none): response to send or %NULL for an empty response
8080
* @error: (allow-none): #GError location to store the error occurring, or %NULL
8181
* to ignore

0 commit comments

Comments
 (0)