5#ifndef FLUTTER_SHELL_PLATFORM_FUCHSIA_DART_PKG_ZIRCON_SDK_EXT_HANDLE_WAITER_H_
6#define FLUTTER_SHELL_PLATFORM_FUCHSIA_DART_PKG_ZIRCON_SDK_EXT_HANDLE_WAITER_H_
8#include <lib/async/cpp/wait.h>
9#include <lib/zx/handle.h>
11#include "flutter/fml/memory/ref_counted.h"
15class DartLibraryNatives;
25 DEFINE_WRAPPERTYPEINFO();
46 void OnWaitComplete(async_dispatcher_t* dispatcher,
47 async::WaitBase* wait,
49 const zx_packet_signal_t* signal);
51 void RetainDartWrappableReference()
const override {
AddRef(); }
53 void ReleaseDartWrappableReference()
const override {
Release(); }
55 async::WaitMethod<HandleWaiter, &HandleWaiter::OnWaitComplete> wait_;
static void RegisterNatives(tonic::DartLibraryNatives *natives)
static fml::RefPtr< HandleWaiter > Create(Handle *handle, zx_signals_t signals, Dart_Handle callback)
struct _Dart_Handle * Dart_Handle
FlKeyEvent uint64_t FlKeyResponderAsyncCallback callback
static guint signals[kSignalLastSignal]