Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
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 103 of file fuchsia.cc.

104 {
106
107 Dart_Handle library = Dart_LookupLibrary(ToDart("dart:fuchsia"));
110 library, fuchsia::dart::NativeLookup, fuchsia::dart::NativeSymbol);
112
113 auto dart_state = tonic::DartState::Current();
114 std::unique_ptr<tonic::DartClassProvider> fuchsia_class_provider(
115 new tonic::DartClassProvider(dart_state, "dart:fuchsia"));
116 dart_state->class_library().add_provider("fuchsia",
117 std::move(fuchsia_class_provider));
118
119 if (directory_request) {
120 result = Dart_SetField(
121 library, ToDart("_outgoingServices"),
124 }
125
126 if (view_ref) {
127 result = Dart_SetField(
128 library, ToDart("_viewRef"),
129 ToDart(zircon::dart::Handle::Create((*view_ref).release())));
131 }
132}
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:51
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().