Flutter Engine
The Flutter Engine
Public Member Functions | Friends | List of all members
dart::FfiCallbackMetadata::Metadata Class Reference

#include <ffi_callback_metadata.h>

Public Member Functions

bool IsSameCallback (const Metadata &other) const
 
bool IsLive () const
 
Isolatetarget_isolate () const
 
uword target_entry_point () const
 
PersistentHandleclosure_handle () const
 
uint64_t context () const
 
Dart_Port send_port () const
 
Metadatalist_prev ()
 
Metadatalist_next ()
 
TrampolineType trampoline_type () const
 

Friends

class FfiCallbackMetadata
 

Detailed Description

Definition at line 80 of file ffi_callback_metadata.h.

Member Function Documentation

◆ closure_handle()

PersistentHandle * dart::FfiCallbackMetadata::Metadata::closure_handle ( ) const
inline

Definition at line 147 of file ffi_callback_metadata.h.

147 {
148 ASSERT(IsLive());
149 ASSERT(trampoline_type_ == TrampolineType::kSync ||
150 trampoline_type_ == TrampolineType::kSyncStackDelta4);
151 return reinterpret_cast<PersistentHandle*>(context_);
152 }
#define ASSERT(E)

◆ context()

uint64_t dart::FfiCallbackMetadata::Metadata::context ( ) const
inline

Definition at line 156 of file ffi_callback_metadata.h.

156 {
157 ASSERT(IsLive());
158 return context_;
159 }

◆ IsLive()

bool dart::FfiCallbackMetadata::Metadata::IsLive ( ) const
inline

Definition at line 129 of file ffi_callback_metadata.h.

129{ return target_isolate_ != 0; }

◆ IsSameCallback()

bool dart::FfiCallbackMetadata::Metadata::IsSameCallback ( const Metadata other) const
inline

Definition at line 119 of file ffi_callback_metadata.h.

119 {
120 // Not checking the list links, because they can change when other
121 // callbacks are deleted.
122 return target_isolate_ == other.target_isolate_ &&
123 trampoline_type_ == other.trampoline_type_ &&
124 target_entry_point_ == other.target_entry_point_ &&
125 context_ == other.context_;
126 }

◆ list_next()

Metadata * dart::FfiCallbackMetadata::Metadata::list_next ( )
inline

Definition at line 175 of file ffi_callback_metadata.h.

175 {
176 ASSERT(IsLive());
177 return list_next_;
178 }

◆ list_prev()

Metadata * dart::FfiCallbackMetadata::Metadata::list_prev ( )
inline

Definition at line 171 of file ffi_callback_metadata.h.

171 {
172 ASSERT(IsLive());
173 return list_prev_;
174 }

◆ send_port()

Dart_Port dart::FfiCallbackMetadata::Metadata::send_port ( ) const
inline

Definition at line 162 of file ffi_callback_metadata.h.

162 {
163 ASSERT(IsLive());
164 ASSERT(trampoline_type_ == TrampolineType::kAsync);
165 return static_cast<Dart_Port>(context_);
166 }
int64_t Dart_Port
Definition: dart_api.h:1525

◆ target_entry_point()

uword dart::FfiCallbackMetadata::Metadata::target_entry_point ( ) const
inline

Definition at line 140 of file ffi_callback_metadata.h.

140 {
141 ASSERT(IsLive());
142 return target_entry_point_;
143 }

◆ target_isolate()

Isolate * dart::FfiCallbackMetadata::Metadata::target_isolate ( ) const
inline

Definition at line 134 of file ffi_callback_metadata.h.

134 {
135 ASSERT(IsLive());
136 return target_isolate_;
137 }

◆ trampoline_type()

TrampolineType dart::FfiCallbackMetadata::Metadata::trampoline_type ( ) const
inline

Definition at line 183 of file ffi_callback_metadata.h.

183{ return trampoline_type_; }

Friends And Related Function Documentation

◆ FfiCallbackMetadata

friend class FfiCallbackMetadata
friend

Definition at line 118 of file ffi_callback_metadata.h.

Member Data Documentation

◆ context_

uint64_t dart::FfiCallbackMetadata::Metadata::context_

Definition at line 93 of file ffi_callback_metadata.h.

◆ free_list_next_

Metadata* dart::FfiCallbackMetadata::Metadata::free_list_next_

Definition at line 101 of file ffi_callback_metadata.h.

◆ list_next_

Metadata* dart::FfiCallbackMetadata::Metadata::list_next_

Definition at line 97 of file ffi_callback_metadata.h.

◆ list_prev_

Metadata* dart::FfiCallbackMetadata::Metadata::list_prev_

Definition at line 96 of file ffi_callback_metadata.h.

◆ target_entry_point_

uword dart::FfiCallbackMetadata::Metadata::target_entry_point_

Definition at line 89 of file ffi_callback_metadata.h.


The documentation for this class was generated from the following file: