SBTrace.i revision 359575
1359575Sdim//===-- SWIG Interface for SBTrace.h ----------------------------*- C++ -*-===//
2359575Sdim//
3359575Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4359575Sdim// See https://llvm.org/LICENSE.txt for license information.
5359575Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6359575Sdim//
7359575Sdim//===----------------------------------------------------------------------===//
8359575Sdim
9359575Sdimnamespace lldb {
10359575Sdim
11359575Sdimclass LLDB_API SBTrace {
12359575Sdimpublic:
13359575Sdim  SBTrace();
14359575Sdim  size_t GetTraceData(SBError &error, void *buf,
15359575Sdim                      size_t size, size_t offset,
16359575Sdim                      lldb::tid_t thread_id);
17359575Sdim
18359575Sdim  size_t GetMetaData(SBError &error, void *buf,
19359575Sdim                     size_t size, size_t offset,
20359575Sdim                     lldb::tid_t thread_id);
21359575Sdim
22359575Sdim  void StopTrace(SBError &error,
23359575Sdim                 lldb::tid_t thread_id);
24359575Sdim
25359575Sdim  void GetTraceConfig(SBTraceOptions &options,
26359575Sdim                      SBError &error);
27359575Sdim
28359575Sdim  lldb::user_id_t GetTraceUID();
29359575Sdim
30359575Sdim  explicit operator bool() const;
31359575Sdim
32359575Sdim  bool IsValid();
33359575Sdim
34359575Sdim};
35359575Sdim} // namespace lldb