Flutter Engine
 
Loading...
Searching...
No Matches
FlutterDesktopMessenger Struct Reference

Public Member Functions

 FlutterDesktopMessenger ()=default
 
void AddRef ()
 
void Release ()
 
FlutterDesktopEngineStateGetEngine () const
 Getter for the engine field.
 
void SetEngine (FlutterDesktopEngineState *engine)
 
std::mutex & GetMutex ()
 
 FlutterDesktopMessenger (const FlutterDesktopMessenger &value)=delete
 
FlutterDesktopMessengeroperator= (const FlutterDesktopMessenger &value)=delete
 

Detailed Description

Definition at line 159 of file flutter_glfw.cc.

Constructor & Destructor Documentation

◆ FlutterDesktopMessenger() [1/2]

FlutterDesktopMessenger::FlutterDesktopMessenger ( )
default

◆ FlutterDesktopMessenger() [2/2]

FlutterDesktopMessenger::FlutterDesktopMessenger ( const FlutterDesktopMessenger value)
delete

Member Function Documentation

◆ AddRef()

void FlutterDesktopMessenger::AddRef ( )
inline

Increments the reference count.

Thread-safe.

Definition at line 165 of file flutter_glfw.cc.

165{ ref_count_.fetch_add(1); }

Referenced by FlutterDesktopMessengerAddRef().

◆ GetEngine()

FlutterDesktopEngineState * FlutterDesktopMessenger::GetEngine ( ) const
inline

◆ GetMutex()

std::mutex & FlutterDesktopMessenger::GetMutex ( )
inline

Returns the mutex associated with the |FlutterDesktopMessenger|.

This mutex is used to synchronize reading or writing state inside the |FlutterDesktopMessenger| (ie |engine_|).

Definition at line 192 of file flutter_glfw.cc.

192{ return mutex_; }

Referenced by FlutterDesktopMessengerLock(), and FlutterDesktopMessengerUnlock().

◆ operator=()

FlutterDesktopMessenger & FlutterDesktopMessenger::operator= ( const FlutterDesktopMessenger value)
delete

◆ Release()

void FlutterDesktopMessenger::Release ( )
inline

Decrements the reference count and deletes the object if the count has gone to zero.

Thread-safe.

Definition at line 171 of file flutter_glfw.cc.

171 {
172 int32_t old_count = ref_count_.fetch_sub(1);
173 if (old_count <= 1) {
174 delete this;
175 }
176 }

Referenced by FlutterDesktopMessengerRelease().

◆ SetEngine()

void FlutterDesktopMessenger::SetEngine ( FlutterDesktopEngineState engine)
inline

Setter for the engine field. Thread-safe.

Definition at line 183 of file flutter_glfw.cc.

183 {
184 std::scoped_lock lock(mutex_);
185 engine_ = engine;
186 }
FlutterEngine engine
Definition main.cc:84

References engine.


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