| // Copyright 2013 The Flutter Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #include "flutter/shell/common/thread_host.h" | |
| namespace flutter { | |
| ThreadHost::ThreadHost() = default; | |
| ThreadHost::ThreadHost(ThreadHost&&) = default; | |
| ThreadHost::ThreadHost(std::string name_prefix, uint64_t mask) { | |
| if (mask & ThreadHost::Type::Platform) { | |
| platform_thread = std::make_unique<fml::Thread>(name_prefix + ".platform"); | |
| } | |
| if (mask & ThreadHost::Type::UI) { | |
| ui_thread = std::make_unique<fml::Thread>(name_prefix + ".ui"); | |
| } | |
| if (mask & ThreadHost::Type::GPU) { | |
| raster_thread = std::make_unique<fml::Thread>(name_prefix + ".raster"); | |
| } | |
| if (mask & ThreadHost::Type::IO) { | |
| io_thread = std::make_unique<fml::Thread>(name_prefix + ".io"); | |
| } | |
| if (mask & ThreadHost::Type::Profiler) { | |
| profiler_thread = std::make_unique<fml::Thread>(name_prefix + ".profiler"); | |
| } | |
| } | |
| ThreadHost::~ThreadHost() = default; | |
| void ThreadHost::Reset() { | |
| platform_thread.reset(); | |
| ui_thread.reset(); | |
| raster_thread.reset(); | |
| io_thread.reset(); | |
| profiler_thread.reset(); | |
| } | |
| } // namespace flutter |