1//===-- SWIG Interface for SBTrace.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
9namespace lldb {
10
11class LLDB_API SBTrace {
12public:
13  SBTrace();
14  size_t GetTraceData(SBError &error, void *buf,
15                      size_t size, size_t offset,
16                      lldb::tid_t thread_id);
17
18  size_t GetMetaData(SBError &error, void *buf,
19                     size_t size, size_t offset,
20                     lldb::tid_t thread_id);
21
22  void StopTrace(SBError &error,
23                 lldb::tid_t thread_id);
24
25  void GetTraceConfig(SBTraceOptions &options,
26                      SBError &error);
27
28  lldb::user_id_t GetTraceUID();
29
30  explicit operator bool() const;
31
32  bool IsValid();
33
34};
35} // namespace lldb