Flutter Linux Embedder
fl_platform_handler.h File Reference

Go to the source code of this file.

Functions

G_BEGIN_DECLS G_DECLARE_FINAL_TYPE (FlPlatformHandler, fl_platform_handler, FL, PLATFORM_HANDLER, GObject)
 
FlPlatformHandler * fl_platform_handler_new (FlBinaryMessenger *messenger)
 
void fl_platform_handler_request_app_exit (FlPlatformHandler *handler)
 

Function Documentation

◆ fl_platform_handler_new()

FlPlatformHandler* fl_platform_handler_new ( FlBinaryMessenger *  messenger)

FlPlatformHandler:

#FlPlatformHandler is a handler that implements the shell side of SystemChannels.platform from the Flutter services library. fl_platform_handler_new: @messenger: an #FlBinaryMessenger

Creates a new handler that implements SystemChannels.platform from the Flutter services library.

Returns: a new #FlPlatformHandler

Definition at line 405 of file fl_platform_handler.cc.

405  {
406  g_return_val_if_fail(FL_IS_BINARY_MESSENGER(messenger), nullptr);
407 
408  FlPlatformHandler* self = FL_PLATFORM_HANDLER(
409  g_object_new(fl_platform_handler_get_type(), nullptr));
410 
411  g_autoptr(FlJsonMethodCodec) codec = fl_json_method_codec_new();
412  self->channel =
413  fl_method_channel_new(messenger, kChannelName, FL_METHOD_CODEC(codec));
415  nullptr);
416  self->app_initialization_complete = FALSE;
417 
418  return self;
419 }

References fl_json_method_codec_new(), fl_method_channel_new(), fl_method_channel_set_method_call_handler(), kChannelName, and method_call_cb().

Referenced by create_context_cb(), fl_test_application_activate(), and TEST().

◆ fl_platform_handler_request_app_exit()

void fl_platform_handler_request_app_exit ( FlPlatformHandler *  handler)

fl_platform_handler_request_app_exit: @handler: an #FlPlatformHandler

Request the application exits (i.e. due to the window being requested to be closed).

Calling this will only send an exit request to the framework if the framework has already indicated that it is ready to receive requests by sending a "System.initializationComplete" method call on the platform channel. Calls before initialization is complete will result in an immediate exit.

Definition at line 421 of file fl_platform_handler.cc.

421  {
422  g_return_if_fail(FL_IS_PLATFORM_HANDLER(self));
423  // Request a cancellable exit.
425 }

References kExitTypeCancelable, and request_app_exit().

Referenced by window_delete_event_cb().

◆ G_DECLARE_FINAL_TYPE()

G_BEGIN_DECLS G_DECLARE_FINAL_TYPE ( FlPlatformHandler  ,
fl_platform_handler  ,
FL  ,
PLATFORM_HANDLER  ,
GObject   
)
fl_json_method_codec_new
G_MODULE_EXPORT FlJsonMethodCodec * fl_json_method_codec_new()
Definition: fl_json_method_codec.cc:205
fl_method_channel_new
G_MODULE_EXPORT FlMethodChannel * fl_method_channel_new(FlBinaryMessenger *messenger, const gchar *name, FlMethodCodec *codec)
Definition: fl_method_channel.cc:112
kChannelName
static constexpr char kChannelName[]
Definition: fl_platform_handler.cc:13
kExitTypeCancelable
static constexpr char kExitTypeCancelable[]
Definition: fl_platform_handler.cc:31
fl_method_channel_set_method_call_handler
G_MODULE_EXPORT void fl_method_channel_set_method_call_handler(FlMethodChannel *self, FlMethodChannelMethodCallHandler handler, gpointer user_data, GDestroyNotify destroy_notify)
Definition: fl_method_channel.cc:134
request_app_exit
static void request_app_exit(FlPlatformHandler *self, const char *type)
Definition: fl_platform_handler.cc:256
method_call_cb
static void method_call_cb(FlMethodChannel *channel, FlMethodCall *method_call, gpointer user_data)
Definition: fl_platform_handler.cc:353