Flutter Engine
 
Loading...
Searching...
No Matches
fuchsia::dart Namespace Reference

Functions

void Initialize (zx::channel directory_request, std::optional< zx::eventpair > view_ref)
 Initializes Dart bindings for the Fuchsia application model.
 

Function Documentation

◆ Initialize()

void fuchsia::dart::Initialize ( zx::channel  directory_request,
std::optional< zx::eventpair >  view_ref 
)

Initializes Dart bindings for the Fuchsia application model.

Definition at line 102 of file fuchsia.cc.

103 {
105
106 Dart_Handle library = Dart_LookupLibrary(ToDart("dart:fuchsia"));
109 library, fuchsia::dart::NativeLookup, fuchsia::dart::NativeSymbol);
111
112 auto dart_state = tonic::DartState::Current();
113 std::unique_ptr<tonic::DartClassProvider> fuchsia_class_provider(
114 new tonic::DartClassProvider(dart_state, "dart:fuchsia"));
115 dart_state->class_library().add_provider("fuchsia",
116 std::move(fuchsia_class_provider));
117
118 if (directory_request) {
119 result = Dart_SetField(
120 library, ToDart("_outgoingServices"),
123 }
124
125 if (view_ref) {
126 result = Dart_SetField(
127 library, ToDart("_viewRef"),
128 ToDart(zircon::dart::Handle::Create((*view_ref).release())));
130 }
131}
static DartState * Current()
Definition dart_state.cc:56
static fml::RefPtr< Handle > Create(zx_handle_t handle)
Definition handle.cc:28
#define FML_CHECK(condition)
Definition logging.h:104
Dart_NativeFunction function
Definition fuchsia.cc:50
bool CheckAndHandleError(Dart_Handle handle)
Definition dart_error.cc:33
void Initialize()
Definition natives.cc:68

References tonic::CheckAndHandleError(), zircon::dart::Handle::Create(), tonic::DartState::Current(), FML_CHECK, and zircon::dart::Initialize().

Referenced by dart_runner::InitBuiltinLibrariesForIsolate().