Flutter Windows Embedder
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
flutter_messenger.h File Reference
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include "flutter_export.h"

Go to the source code of this file.

Classes

struct  FlutterDesktopMessage
 

Typedefs

typedef struct FlutterDesktopMessenger * FlutterDesktopMessengerRef
 
typedef struct _FlutterPlatformMessageResponseHandle FlutterDesktopMessageResponseHandle
 
typedef void(* FlutterDesktopBinaryReply) (const uint8_t *data, size_t data_size, void *user_data)
 
typedef void(* FlutterDesktopMessageCallback) (FlutterDesktopMessengerRef, const FlutterDesktopMessage *, void *)
 

Functions

FLUTTER_EXPORT bool FlutterDesktopMessengerSend (FlutterDesktopMessengerRef messenger, const char *channel, const uint8_t *message, const size_t message_size)
 
FLUTTER_EXPORT bool FlutterDesktopMessengerSendWithReply (FlutterDesktopMessengerRef messenger, const char *channel, const uint8_t *message, const size_t message_size, const FlutterDesktopBinaryReply reply, void *user_data)
 
FLUTTER_EXPORT void FlutterDesktopMessengerSendResponse (FlutterDesktopMessengerRef messenger, const FlutterDesktopMessageResponseHandle *handle, const uint8_t *data, size_t data_length)
 
FLUTTER_EXPORT void FlutterDesktopMessengerSetCallback (FlutterDesktopMessengerRef messenger, const char *channel, FlutterDesktopMessageCallback callback, void *user_data)
 
FLUTTER_EXPORT FlutterDesktopMessengerRef FlutterDesktopMessengerAddRef (FlutterDesktopMessengerRef messenger)
 
FLUTTER_EXPORT void FlutterDesktopMessengerRelease (FlutterDesktopMessengerRef messenger)
 
FLUTTER_EXPORT bool FlutterDesktopMessengerIsAvailable (FlutterDesktopMessengerRef messenger)
 
FLUTTER_EXPORT FlutterDesktopMessengerRef FlutterDesktopMessengerLock (FlutterDesktopMessengerRef messenger)
 
FLUTTER_EXPORT void FlutterDesktopMessengerUnlock (FlutterDesktopMessengerRef messenger)
 

Typedef Documentation

◆ FlutterDesktopBinaryReply

typedef void(* FlutterDesktopBinaryReply) (const uint8_t *data, size_t data_size, void *user_data)

Definition at line 26 of file flutter_messenger.h.

◆ FlutterDesktopMessageCallback

typedef void(* FlutterDesktopMessageCallback) (FlutterDesktopMessengerRef, const FlutterDesktopMessage *, void *)

Definition at line 49 of file flutter_messenger.h.

◆ FlutterDesktopMessageResponseHandle

typedef struct _FlutterPlatformMessageResponseHandle FlutterDesktopMessageResponseHandle

Definition at line 19 of file flutter_messenger.h.

◆ FlutterDesktopMessengerRef

typedef struct FlutterDesktopMessenger* FlutterDesktopMessengerRef

Definition at line 19 of file flutter_messenger.h.

Function Documentation

◆ FlutterDesktopMessengerAddRef()

FLUTTER_EXPORT FlutterDesktopMessengerRef FlutterDesktopMessengerAddRef ( FlutterDesktopMessengerRef  messenger)

Definition at line 396 of file flutter_windows.cc.

397  {
399  ->AddRef()
400  ->ToRef();
401 }
FlutterDesktopMessengerRef ToRef()
Convert to FlutterDesktopMessengerRef.
static FlutterDesktopMessenger * FromRef(FlutterDesktopMessengerRef ref)
Convert from FlutterDesktopMessengerRef.

References flutter::FlutterDesktopMessenger::AddRef(), flutter::FlutterDesktopMessenger::FromRef(), and flutter::FlutterDesktopMessenger::ToRef().

◆ FlutterDesktopMessengerIsAvailable()

FLUTTER_EXPORT bool FlutterDesktopMessengerIsAvailable ( FlutterDesktopMessengerRef  messenger)

◆ FlutterDesktopMessengerLock()

FLUTTER_EXPORT FlutterDesktopMessengerRef FlutterDesktopMessengerLock ( FlutterDesktopMessengerRef  messenger)

Definition at line 412 of file flutter_windows.cc.

413  {
415  return messenger;
416 }

References flutter::FlutterDesktopMessenger::FromRef(), and flutter::FlutterDesktopMessenger::GetMutex().

◆ FlutterDesktopMessengerRelease()

◆ FlutterDesktopMessengerSend()

FLUTTER_EXPORT bool FlutterDesktopMessengerSend ( FlutterDesktopMessengerRef  messenger,
const char *  channel,
const uint8_t *  message,
const size_t  message_size 
)

Definition at line 362 of file flutter_windows.cc.

365  {
366  return FlutterDesktopMessengerSendWithReply(messenger, channel, message,
367  message_size, nullptr, nullptr);
368 }
bool FlutterDesktopMessengerSendWithReply(FlutterDesktopMessengerRef messenger, const char *channel, const uint8_t *message, const size_t message_size, const FlutterDesktopBinaryReply reply, void *user_data)
Win32Message message

References FlutterDesktopMessengerSendWithReply(), and message.

Referenced by flutter::BinaryMessengerImpl::Send().

◆ FlutterDesktopMessengerSendResponse()

FLUTTER_EXPORT void FlutterDesktopMessengerSendResponse ( FlutterDesktopMessengerRef  messenger,
const FlutterDesktopMessageResponseHandle handle,
const uint8_t *  data,
size_t  data_length 
)

Definition at line 370 of file flutter_windows.cc.

374  {
375  FML_DCHECK(FlutterDesktopMessengerIsAvailable(messenger))
376  << "Messenger must reference a running engine to send a response";
377 
379  ->GetEngine()
380  ->SendPlatformMessageResponse(handle, data, data_length);
381 }
void SendPlatformMessageResponse(const FlutterDesktopMessageResponseHandle *handle, const uint8_t *data, size_t data_length)
bool FlutterDesktopMessengerIsAvailable(FlutterDesktopMessengerRef messenger)

References FlutterDesktopMessengerIsAvailable(), flutter::FlutterDesktopMessenger::FromRef(), flutter::FlutterDesktopMessenger::GetEngine(), and flutter::FlutterWindowsEngine::SendPlatformMessageResponse().

Referenced by flutter::IncomingMessageDispatcher::HandleMessage().

◆ FlutterDesktopMessengerSendWithReply()

FLUTTER_EXPORT bool FlutterDesktopMessengerSendWithReply ( FlutterDesktopMessengerRef  messenger,
const char *  channel,
const uint8_t *  message,
const size_t  message_size,
const FlutterDesktopBinaryReply  reply,
void *  user_data 
)

Definition at line 348 of file flutter_windows.cc.

353  {
354  FML_DCHECK(FlutterDesktopMessengerIsAvailable(messenger))
355  << "Messenger must reference a running engine to send a message";
356 
358  ->GetEngine()
359  ->SendPlatformMessage(channel, message, message_size, reply, user_data);
360 }
bool SendPlatformMessage(const char *channel, const uint8_t *message, const size_t message_size, const FlutterDesktopBinaryReply reply, void *user_data)

References FlutterDesktopMessengerIsAvailable(), flutter::FlutterDesktopMessenger::FromRef(), flutter::FlutterDesktopMessenger::GetEngine(), message, flutter::FlutterWindowsEngine::SendPlatformMessage(), and user_data.

Referenced by FlutterDesktopMessengerSend(), and flutter::BinaryMessengerImpl::Send().

◆ FlutterDesktopMessengerSetCallback()

FLUTTER_EXPORT void FlutterDesktopMessengerSetCallback ( FlutterDesktopMessengerRef  messenger,
const char *  channel,
FlutterDesktopMessageCallback  callback,
void *  user_data 
)

Definition at line 383 of file flutter_windows.cc.

386  {
387  FML_DCHECK(FlutterDesktopMessengerIsAvailable(messenger))
388  << "Messenger must reference a running engine to set a callback";
389 
391  ->GetEngine()
394 }
IncomingMessageDispatcher * message_dispatcher()
void SetMessageCallback(const std::string &channel, FlutterDesktopMessageCallback callback, void *user_data)
FlutterDesktopBinaryReply callback

References callback, FlutterDesktopMessengerIsAvailable(), flutter::FlutterDesktopMessenger::FromRef(), flutter::FlutterDesktopMessenger::GetEngine(), flutter::FlutterWindowsEngine::message_dispatcher(), flutter::IncomingMessageDispatcher::SetMessageCallback(), and user_data.

Referenced by flutter::BinaryMessengerImpl::SetMessageHandler().

◆ FlutterDesktopMessengerUnlock()

FLUTTER_EXPORT void FlutterDesktopMessengerUnlock ( FlutterDesktopMessengerRef  messenger)