/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #pragma once #include "cmConfigure.h" // IWYU pragma: keep #include #include #include #include #include #include namespace cmDebugger { class cmDebuggerThread; } namespace dap { struct StackTraceResponse; } namespace cmDebugger { class cmDebuggerThreadManager { static std::atomic NextThreadId; std::list> Threads; public: cmDebuggerThreadManager() = default; std::shared_ptr StartThread(std::string const& name); void EndThread(std::shared_ptr const& thread); cm::optional GetThreadStackTraceResponse( std::int64_t id); }; } // namespace cmDebugger