9 #ifndef LLDB_SOURCE_PLUGINS_TRACE_INTEL_PT_TRACEINTELPTJSONSTRUCTS_H
10 #define LLDB_SOURCE_PLUGINS_TRACE_INTEL_PT_TRACEINTELPTJSONSTRUCTS_H
16 #include "llvm/ADT/Optional.h"
17 #include "llvm/Support/JSON.h"
23 namespace trace_intel_pt {
27 llvm::Optional<std::string>
file;
29 llvm::Optional<std::string>
uuid;
54 llvm::Optional<std::vector<JSONCpu>>
cpus;
57 llvm::Optional<std::vector<lldb::cpu_id_t>>
GetCpuIds();
68 llvm::json::Value
toJSON(
const pt_cpu &cpu_info);
73 llvm::json::Path path);
76 llvm::json::Path path);
79 llvm::json::Path path);
82 llvm::json::Path path);
84 bool fromJSON(
const llvm::json::Value &value, pt_cpu &cpu_info,
85 llvm::json::Path path);
88 llvm::json::Path path);
92 #endif // LLDB_SOURCE_PLUGINS_TRACE_INTEL_PT_TRACEINTELPTJSONSTRUCTS_H