LLDB  mainline
SBTraceOptions.h
Go to the documentation of this file.
1 //===-- SBTraceOptions ------------------------------------------*- 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 #ifndef SBTRACEOPTIONS_H_
10 #define SBTRACEOPTIONS_H_
11 
12 #include "lldb/API/SBDefines.h"
13 
14 namespace lldb {
15 
17 public:
19 
20  lldb::TraceType getType() const;
21 
22  uint64_t getTraceBufferSize() const;
23 
24  /// The trace parameters consist of any custom parameters
25  /// apart from the generic parameters such as
26  /// TraceType, trace_buffer_size and meta_data_buffer_size.
27  /// The returned parameters would be formatted as a JSON Dictionary.
28  lldb::SBStructuredData getTraceParams(lldb::SBError &error);
29 
30  uint64_t getMetaDataBufferSize() const;
31 
32  /// SBStructuredData is meant to hold any custom parameters
33  /// apart from meta buffer size and trace size. They should
34  /// be formatted as a JSON Dictionary.
35  void setTraceParams(lldb::SBStructuredData &params);
36 
37  void setType(lldb::TraceType type);
38 
39  void setTraceBufferSize(uint64_t size);
40 
41  void setMetaDataBufferSize(uint64_t size);
42 
43  void setThreadID(lldb::tid_t thread_id);
44 
45  lldb::tid_t getThreadID();
46 
47  explicit operator bool() const;
48 
49  bool IsValid();
50 
51 protected:
52  friend class SBProcess;
53  friend class SBTrace;
54 
55  lldb::TraceOptionsSP m_traceoptions_sp;
56 };
57 }
58 
59 #endif /* SBTRACEOPTIONS_H_ */
lldb::TraceOptionsSP m_traceoptions_sp
uint64_t tid_t
Definition: lldb-types.h:86
class LLDB_API SBTraceOptions
Definition: SBDefines.h:77
#define LLDB_API
Definition: lldb-defines.h:23
Definition: SBAddress.h:15