Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
Loading...
Searching...
No Matches
task_runner_util.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/fml/task_runner_util.h
"
6
7
namespace
fml
{
8
9
WrapperBasicTaskRunner::WrapperBasicTaskRunner
(
10
fml::RefPtr<fml::TaskRunner>
task_runner)
11
: task_runner_(
std
::move(task_runner)) {}
12
13
void
WrapperBasicTaskRunner::PostTask
(
const
fml::closure
& task) {
14
task_runner_->
PostTask
(task);
15
}
16
17
ConditionalBasicTaskRunner::ConditionalBasicTaskRunner
(
18
fml::RefPtr<fml::TaskRunner>
task_runner,
19
std::function<
bool
()> is_usable)
20
: task_runner_(
std
::move(task_runner)),
21
is_usable_(
22
std
::make_shared<
std
::
function
<bool()>>(
std
::move(is_usable))) {}
23
24
void
ConditionalBasicTaskRunner::PostTask
(
const
fml::closure
& task) {
25
auto
task_wrapper = [task, weak_is_usable = std::weak_ptr(is_usable_)] {
26
std::shared_ptr<std::function<bool()>> is_usable = weak_is_usable.lock();
27
if
(is_usable && (*is_usable)()) {
28
task();
29
}
30
};
31
task_runner_->
PostTask
(task_wrapper);
32
}
33
34
}
// namespace fml
fml::ConditionalBasicTaskRunner::ConditionalBasicTaskRunner
ConditionalBasicTaskRunner(fml::RefPtr< fml::TaskRunner > task_runner, std::function< bool()> is_usable)
Definition
task_runner_util.cc:17
fml::ConditionalBasicTaskRunner::PostTask
void PostTask(const fml::closure &task) override
Definition
task_runner_util.cc:24
fml::RefPtr
Definition
ref_ptr.h:65
fml::TaskRunner::PostTask
virtual void PostTask(const fml::closure &task) override
Definition
task_runner.cc:25
fml::WrapperBasicTaskRunner::WrapperBasicTaskRunner
WrapperBasicTaskRunner(fml::RefPtr< fml::TaskRunner > task_runner)
Definition
task_runner_util.cc:9
fml::WrapperBasicTaskRunner::PostTask
void PostTask(const fml::closure &task) override
Definition
task_runner_util.cc:13
function
Dart_NativeFunction function
Definition
fuchsia.cc:51
fml
Definition
ascii_trie.cc:9
fml::closure
std::function< void()> closure
Definition
closure.h:14
std
Definition
ref_ptr.h:261
task_runner_util.h
fml
task_runner_util.cc
Generated on Fri Jul 24 2026 07:12:32 for Flutter Engine Uber Docs by
1.9.8