/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #include "cmDebuggerVariablesManager.h" #include #include #include namespace cmDebugger { void cmDebuggerVariablesManager::RegisterHandler( int64_t id, std::function(dap::VariablesRequest const&)> handler) { VariablesHandlers[id] = std::move(handler); } void cmDebuggerVariablesManager::UnregisterHandler(int64_t id) { VariablesHandlers.erase(id); } dap::array cmDebuggerVariablesManager::HandleVariablesRequest( dap::VariablesRequest const& request) { auto it = VariablesHandlers.find(request.variablesReference); if (it != VariablesHandlers.end()) { return it->second(request); } return dap::array(); } } // namespace cmDebugger