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