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/common/task_runners.h"
6
7#include <utility>
8
9namespace flutter {
10
11TaskRunners::TaskRunners(std::string label,
12 fml::RefPtr<fml::TaskRunner> platform,
13 fml::RefPtr<fml::TaskRunner> raster,
14 fml::RefPtr<fml::TaskRunner> ui,
15 fml::RefPtr<fml::TaskRunner> io)
16 : label_(std::move(label)),
17 platform_(std::move(platform)),
18 raster_(std::move(raster)),
19 ui_(std::move(ui)),
20 io_(std::move(io)) {}
21
22TaskRunners::TaskRunners(const TaskRunners& other) = default;
23
24TaskRunners::~TaskRunners() = default;
25
26const std::string& TaskRunners::GetLabel() const {
27 return label_;
28}
29
30fml::RefPtr<fml::TaskRunner> TaskRunners::GetPlatformTaskRunner() const {
31 return platform_;
32}
33
34fml::RefPtr<fml::TaskRunner> TaskRunners::GetUITaskRunner() const {
35 return ui_;
36}
37
38fml::RefPtr<fml::TaskRunner> TaskRunners::GetIOTaskRunner() const {
39 return io_;
40}
41
42fml::RefPtr<fml::TaskRunner> TaskRunners::GetRasterTaskRunner() const {
43 return raster_;
44}
45
46bool TaskRunners::IsValid() const {
47 return platform_ && raster_ && ui_ && io_;
48}
49
50} // namespace flutter
51