1*5f757f3fSDimitry Andric //===-- ReportRetriever.h ---------------------------------------*- C++ -*-===// 2*5f757f3fSDimitry Andric // 3*5f757f3fSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*5f757f3fSDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*5f757f3fSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*5f757f3fSDimitry Andric // 7*5f757f3fSDimitry Andric //===----------------------------------------------------------------------===// 8*5f757f3fSDimitry Andric 9*5f757f3fSDimitry Andric #include "lldb/Target/Process.h" 10*5f757f3fSDimitry Andric 11*5f757f3fSDimitry Andric #ifndef LLDB_SOURCE_PLUGINS_INSTRUMENTATIONRUNTIME_UTILITY_REPORTRETRIEVER_H 12*5f757f3fSDimitry Andric #define LLDB_SOURCE_PLUGINS_INSTRUMENTATIONRUNTIME_UTILITY_REPORTRETRIEVER_H 13*5f757f3fSDimitry Andric 14*5f757f3fSDimitry Andric namespace lldb_private { 15*5f757f3fSDimitry Andric 16*5f757f3fSDimitry Andric class ReportRetriever { 17*5f757f3fSDimitry Andric private: 18*5f757f3fSDimitry Andric static StructuredData::ObjectSP 19*5f757f3fSDimitry Andric RetrieveReportData(const lldb::ProcessSP process_sp); 20*5f757f3fSDimitry Andric 21*5f757f3fSDimitry Andric static std::string FormatDescription(StructuredData::ObjectSP report); 22*5f757f3fSDimitry Andric 23*5f757f3fSDimitry Andric public: 24*5f757f3fSDimitry Andric static bool NotifyBreakpointHit(lldb::ProcessSP process_sp, 25*5f757f3fSDimitry Andric StoppointCallbackContext *context, 26*5f757f3fSDimitry Andric lldb::user_id_t break_id, 27*5f757f3fSDimitry Andric lldb::user_id_t break_loc_id); 28*5f757f3fSDimitry Andric 29*5f757f3fSDimitry Andric static Breakpoint *SetupBreakpoint(lldb::ModuleSP, lldb::ProcessSP, 30*5f757f3fSDimitry Andric ConstString); 31*5f757f3fSDimitry Andric }; 32*5f757f3fSDimitry Andric } // namespace lldb_private 33*5f757f3fSDimitry Andric 34*5f757f3fSDimitry Andric #endif // LLDB_SOURCE_PLUGINS_INSTRUMENTATIONRUNTIME_UTILITY_REPORTRETRIEVER_H 35