Flutter Engine
 
Loading...
Searching...
No Matches
fl_binary_messenger_private.h File Reference

Go to the source code of this file.

Functions

G_BEGIN_DECLS FlBinaryMessenger * fl_binary_messenger_new (FlEngine *engine)
 
gboolean fl_binary_messenger_handle_message (FlBinaryMessenger *messenger, const gchar *channel, GBytes *message, const FlutterPlatformMessageResponseHandle *response_handle)
 
void fl_binary_messenger_shutdown (FlBinaryMessenger *messenger)
 

Function Documentation

◆ fl_binary_messenger_handle_message()

gboolean fl_binary_messenger_handle_message ( FlBinaryMessenger *  messenger,
const gchar *  channel,
GBytes *  message,
const FlutterPlatformMessageResponseHandle response_handle 
)

fl_binary_messenger_handle_message: @messenger: an #FlBinaryMessenger. @channel: channel message received on. @message: message data. @response_handle: handle to provide to fl_engine_send_platform_message_response().

Handles a message received from the engine. Available for testing purposes.

Returns: TRUE if the message is handled.

Definition at line 478 of file fl_binary_messenger.cc.

482 {
483 FlBinaryMessengerImpl* self = FL_BINARY_MESSENGER_IMPL(messenger);
484
486 g_hash_table_lookup(self->platform_message_handlers, channel));
487 if (handler == nullptr) {
488 return FALSE;
489 }
490
491 g_autoptr(FlBinaryMessengerResponseHandleImpl) handle =
493 handler->message_handler(FL_BINARY_MESSENGER(self), channel, message,
494 FL_BINARY_MESSENGER_RESPONSE_HANDLE(handle),
495 handler->message_handler_data);
496
497 return TRUE;
498}
static FlBinaryMessengerResponseHandleImpl * fl_binary_messenger_response_handle_impl_new(FlBinaryMessengerImpl *messenger, const FlutterPlatformMessageResponseHandle *response_handle)
g_autoptr(GMutexLocker) locker
return TRUE
const gchar * channel
const gchar FlBinaryMessengerMessageHandler handler
G_BEGIN_DECLS GBytes * message

References channel, fl_binary_messenger_response_handle_impl_new(), g_autoptr(), handler, message, self, and TRUE.

Referenced by fl_binary_messenger_platform_message_cb(), TEST(), and TEST().

◆ fl_binary_messenger_new()

G_BEGIN_DECLS FlBinaryMessenger * fl_binary_messenger_new ( FlEngine *  engine)

fl_binary_messenger_new: @engine: The #FlEngine to communicate with.

Creates a new #FlBinaryMessenger. The binary messenger will take control of the engines platform message handler.

Returns: a new #FlBinaryMessenger.

Definition at line 391 of file fl_binary_messenger.cc.

391 {
392 g_return_val_if_fail(FL_IS_ENGINE(engine), nullptr);
393
394 FlBinaryMessengerImpl* self = FL_BINARY_MESSENGER_IMPL(
395 g_object_new(fl_binary_messenger_impl_get_type(), nullptr));
396
397 // Added to stop compiler complaining about an unused function.
398 FL_IS_BINARY_MESSENGER_IMPL(self);
399
400 g_weak_ref_init(&self->engine, G_OBJECT(engine));
401
404
405 return FL_BINARY_MESSENGER(self);
406}
FlutterEngine engine
Definition main.cc:84
static gboolean fl_binary_messenger_platform_message_cb(FlEngine *engine, const gchar *channel, GBytes *message, const FlutterPlatformMessageResponseHandle *response_handle, void *user_data)
void fl_engine_set_platform_message_handler(FlEngine *self, FlEnginePlatformMessageHandler handler, gpointer user_data, GDestroyNotify destroy_notify)
Definition fl_engine.cc:990

References engine, fl_binary_messenger_platform_message_cb(), fl_engine_set_platform_message_handler(), and self.

Referenced by fl_engine_new_full(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), and TEST().

◆ fl_binary_messenger_shutdown()

void fl_binary_messenger_shutdown ( FlBinaryMessenger *  messenger)

fl_binary_messenger_shutdown: @messenger: an #FlBinaryMessenger.

Shutdown the messenger closing any open channels.

Definition at line 500 of file fl_binary_messenger.cc.

500 {
501 g_return_if_fail(FL_IS_BINARY_MESSENGER(self));
502
503 return FL_BINARY_MESSENGER_GET_IFACE(self)->shutdown(self);
504}

References self.

Referenced by fl_engine_dispose(), fl_test_application_activate(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), and test_lock_event().