Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Private Member Functions | List of all members
fml::MessageLoopWin Class Reference

#include <message_loop_win.h>

Inheritance diagram for fml::MessageLoopWin:
fml::MessageLoopImpl fml::Wakeable fml::RefCountedThreadSafe< MessageLoopImpl > fml::internal::RefCountedThreadSafeBase

Private Member Functions

 ~MessageLoopWin () override
 
void Run () override
 
void Terminate () override
 
void WakeUp (fml::TimePoint time_point) override
 

Additional Inherited Members

- Public Member Functions inherited from fml::MessageLoopImpl
virtual ~MessageLoopImpl ()
 
void PostTask (const fml::closure &task, fml::TimePoint target_time)
 
void AddTaskObserver (intptr_t key, const fml::closure &callback)
 
void RemoveTaskObserver (intptr_t key)
 
void DoRun ()
 
void DoTerminate ()
 
virtual TaskQueueId GetTaskQueueId () const
 
- Public Member Functions inherited from fml::Wakeable
virtual ~Wakeable ()
 
- Public Member Functions inherited from fml::RefCountedThreadSafe< MessageLoopImpl >
void Release () const
 
- Public Member Functions inherited from fml::internal::RefCountedThreadSafeBase
void AddRef () const
 
bool HasOneRef () const
 
void AssertHasOneRef () const
 
- Static Public Member Functions inherited from fml::MessageLoopImpl
static fml::RefPtr< MessageLoopImplCreate ()
 
- Protected Member Functions inherited from fml::MessageLoopImpl
void RunExpiredTasksNow ()
 
void RunSingleExpiredTaskNow ()
 
 MessageLoopImpl ()
 
- Protected Member Functions inherited from fml::RefCountedThreadSafe< MessageLoopImpl >
 RefCountedThreadSafe ()
 
 ~RefCountedThreadSafe ()
 
- Protected Member Functions inherited from fml::internal::RefCountedThreadSafeBase
 RefCountedThreadSafeBase ()
 
 ~RefCountedThreadSafeBase ()
 
bool Release () const
 
void Adopt ()
 

Detailed Description

Definition at line 18 of file message_loop_win.h.

Member Function Documentation

◆ Run()

void fml::MessageLoopWin::Run ( )
overrideprivatevirtual

Implements fml::MessageLoopImpl.

Definition at line 36 of file message_loop_win.cc.

36 {
37 running_ = true;
38
39 while (running_) {
40 FML_CHECK(WaitForSingleObject(timer_.get(), INFINITE) == 0);
42 }
43}
const T & get() const
#define FML_CHECK(condition)
Definition logging.h:85

◆ Terminate()

void fml::MessageLoopWin::Terminate ( )
overrideprivatevirtual

Implements fml::MessageLoopImpl.

Definition at line 45 of file message_loop_win.cc.

45 {
46 running_ = false;
48 timeEndPeriod(timer_resolution_);
49}
void WakeUp(fml::TimePoint time_point) override
static TimePoint Now()
Definition time_point.cc:49

◆ WakeUp()

void fml::MessageLoopWin::WakeUp ( fml::TimePoint  time_point)
overrideprivatevirtual

Implements fml::Wakeable.

Definition at line 51 of file message_loop_win.cc.

51 {
52 LARGE_INTEGER due_time = {0};
54 if (time_point > now) {
55 due_time.QuadPart = (time_point - now).ToNanoseconds() / -100;
56 }
57 FML_CHECK(SetWaitableTimer(timer_.get(), &due_time, 0, NULL, NULL, FALSE));
58}
return FALSE

◆ ~MessageLoopWin()

fml::MessageLoopWin::~MessageLoopWin ( )
overrideprivatedefault

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