Flutter Engine
The Flutter Engine
Classes | Macros | Typedefs | Functions
fl_key_channel_responder.h File Reference
#include <gdk/gdk.h>
#include "flutter/shell/platform/linux/fl_key_responder.h"
#include "flutter/shell/platform/linux/fl_keyboard_manager.h"
#include "flutter/shell/platform/linux/public/flutter_linux/fl_binary_messenger.h"
#include "flutter/shell/platform/linux/public/flutter_linux/fl_value.h"

Go to the source code of this file.

Classes

struct  _FlKeyChannelResponderMock
 

Macros

#define FL_TYPE_KEY_CHANNEL_RESPONDER   fl_key_channel_responder_get_type()
 

Typedefs

typedef FlValue *(* FlValueConverter) (FlValue *)
 
typedef struct _FlKeyChannelResponderMock FlKeyChannelResponderMock
 

Functions

 G_DECLARE_FINAL_TYPE (FlKeyChannelResponder, fl_key_channel_responder, FL, KEY_CHANNEL_RESPONDER, GObject)
 
FlKeyChannelResponder * fl_key_channel_responder_new (FlBinaryMessenger *messenger, FlKeyChannelResponderMock *mock=nullptr)
 

Macro Definition Documentation

◆ FL_TYPE_KEY_CHANNEL_RESPONDER

#define FL_TYPE_KEY_CHANNEL_RESPONDER   fl_key_channel_responder_get_type()

Definition at line 40 of file fl_key_channel_responder.h.

Typedef Documentation

◆ FlKeyChannelResponderMock

FlKeyChannelResponderMock:

Allows mocking of FlKeyChannelResponder methods and values. Only used in unittests.

◆ FlValueConverter

typedef FlValue *(* FlValueConverter) (FlValue *)

Definition at line 15 of file fl_key_channel_responder.h.

Function Documentation

◆ fl_key_channel_responder_new()

FlKeyChannelResponder * fl_key_channel_responder_new ( FlBinaryMessenger *  messenger,
FlKeyChannelResponderMock mock = nullptr 
)

FlKeyChannelResponder:

A #FlKeyResponder that handles events by sending the raw event data in JSON through the message channel.

This class communicates with the RawKeyboard API in the framework. fl_key_channel_responder_new: @messenger: the messenger that the message channel should be built on. @mock: options to mock several functionalities. Only used in unittests.

Creates a new #FlKeyChannelResponder.

Returns: a new #FlKeyChannelResponder.

Definition at line 186 of file fl_key_channel_responder.cc.

188 {
189 g_return_val_if_fail(FL_IS_BINARY_MESSENGER(messenger), nullptr);
190
191 FlKeyChannelResponder* self = FL_KEY_CHANNEL_RESPONDER(
192 g_object_new(fl_key_channel_responder_get_type(), nullptr));
193 self->mock = mock;
194
195 g_autoptr(FlJsonMessageCodec) codec = fl_json_message_codec_new();
196 const char* channel_name =
197 mock == nullptr ? kChannelName : mock->channel_name;
198 self->channel = fl_basic_message_channel_new(messenger, channel_name,
199 FL_MESSAGE_CODEC(codec));
200
201 return self;
202}
G_MODULE_EXPORT FlBasicMessageChannel * fl_basic_message_channel_new(FlBinaryMessenger *messenger, const gchar *name, FlMessageCodec *codec)
G_MODULE_EXPORT FlJsonMessageCodec * fl_json_message_codec_new()
static constexpr char kChannelName[]

◆ G_DECLARE_FINAL_TYPE()

G_DECLARE_FINAL_TYPE ( FlKeyChannelResponder  ,
fl_key_channel_responder  ,
FL  ,
KEY_CHANNEL_RESPONDER  ,
GObject   
)