Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
shell
platform
glfw
headless_event_loop.cc
Go to the documentation of this file.
1
// Copyright 2013 The Flutter Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#include "flutter/shell/platform/glfw/headless_event_loop.h"
6
7
#include <atomic>
8
#include <utility>
9
10
namespace
flutter
{
11
12
HeadlessEventLoop::HeadlessEventLoop
(std::thread::id main_thread_id,
13
const
TaskExpiredCallback
& on_task_expired)
14
:
EventLoop
(main_thread_id, on_task_expired) {}
15
16
HeadlessEventLoop::~HeadlessEventLoop
() =
default
;
17
18
void
HeadlessEventLoop::WaitUntil
(
const
TaskTimePoint
& time) {
19
std::mutex& mutex =
GetTaskQueueMutex
();
20
std::unique_lock<std::mutex> lock(mutex);
21
task_queue_condition_.wait_until(lock, time);
22
}
23
24
void
HeadlessEventLoop::Wake
() {
25
task_queue_condition_.notify_one();
26
}
27
28
}
// namespace flutter
flutter::EventLoop
Definition
event_loop.h:20
flutter::EventLoop::GetTaskQueueMutex
std::mutex & GetTaskQueueMutex()
Definition
event_loop.h:58
flutter::EventLoop::TaskTimePoint
std::chrono::steady_clock::time_point TaskTimePoint
Definition
event_loop.h:50
flutter::HeadlessEventLoop::HeadlessEventLoop
HeadlessEventLoop(std::thread::id main_thread_id, const TaskExpiredCallback &on_task_expired)
Definition
headless_event_loop.cc:12
flutter::HeadlessEventLoop::Wake
void Wake() override
Definition
headless_event_loop.cc:24
flutter::HeadlessEventLoop::~HeadlessEventLoop
~HeadlessEventLoop()
flutter::HeadlessEventLoop::WaitUntil
void WaitUntil(const TaskTimePoint &time) override
Definition
headless_event_loop.cc:18
flutter::HeadlessEventLoop::TaskExpiredCallback
std::function< void(const FlutterTask *)> TaskExpiredCallback
Definition
headless_event_loop.h:18
flutter
Definition
asset_manager.cc:10
Generated on Fri Apr 26 2024 06:14:30 for Flutter Engine by
1.9.8