| Flutter Linux Embedder |

Functions
fl_platform_plugin.h File Reference
`#include "flutter/shell/platform/linux/public/flutter_linux/fl_binary_messenger.h"`

Go to the source code of this file.

## Functions
G_BEGIN_DECLS | G_DECLARE_FINAL_TYPE (FlPlatformPlugin, fl_platform_plugin, FL, PLATFORM_PLUGIN, GObject)
FlPlatformPlugin * | fl_platform_plugin_new (FlBinaryMessenger *messenger)
void | fl_platform_plugin_request_app_exit (FlPlatformPlugin *plugin)

## Function Documentation

## ◆ fl_platform_plugin_new()

FlPlatformPlugin* fl_platform_plugin_new | ( | FlBinaryMessenger * | messenger | ) |

FlPlatformPlugin:

#FlPlatformPlugin is a plugin that implements the shell side of SystemChannels.platform from the Flutter services library. fl_platform_plugin_new: @messenger: an #FlBinaryMessenger

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

Returns: a new #FlPlatformPlugin

Definition at line 402 of file fl_platform_plugin.cc.

402 {
403 g_return_val_if_fail(FL_IS_BINARY_MESSENGER(messenger), nullptr);
404
405 FlPlatformPlugin* self =
406 FL_PLATFORM_PLUGIN(g_object_new(fl_platform_plugin_get_type(), nullptr));
407
408 g_autoptr(FlJsonMethodCodec) codec = fl_json_method_codec_new();
409 self->channel =
410 fl_method_channel_new(messenger, kChannelName, FL_METHOD_CODEC(codec));
411 fl_method_channel_set_method_call_handler(self->channel, method_call_cb, self,
412 nullptr);
413 self->app_initialization_complete = FALSE;
414
415 return self;
416 }

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

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

## ◆ fl_platform_plugin_request_app_exit()

void fl_platform_plugin_request_app_exit | ( | FlPlatformPlugin * | plugin | ) |

fl_platform_plugin_request_app_exit: @plugin: an #FlPlatformPlugin

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 418 of file fl_platform_plugin.cc.

418 {
419 g_return_if_fail(FL_IS_PLATFORM_PLUGIN(self));
420 // Request a cancellable exit.
421 request_app_exit(self, kExitTypeCancelable);
422 }

References kExitTypeCancelable, and request_app_exit().

## ◆ G_DECLARE_FINAL_TYPE()

G_BEGIN_DECLS G_DECLARE_FINAL_TYPE | ( | FlPlatformPlugin | ,
|  | fl_platform_plugin | ,
|  | FL | ,
|  | PLATFORM_PLUGIN | ,
|  | 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
method_call_cb
static void method_call_cb(FlMethodChannel *channel, FlMethodCall *method_call, gpointer user_data)
Definition: fl_platform_plugin.cc:350
kChannelName
static constexpr char kChannelName[]
Definition: fl_platform_plugin.cc:13
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
self
GdkEvent FlView * self
Definition: fl_view.cc:100
kExitTypeCancelable
static constexpr char kExitTypeCancelable[]
Definition: fl_platform_plugin.cc:31
request_app_exit
static void request_app_exit(FlPlatformPlugin *self, const char *type)
Definition: fl_platform_plugin.cc:253