1 //===-- SBTraceOptions ------------------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef SBTRACEOPTIONS_H_
11 #define SBTRACEOPTIONS_H_
13 #include "lldb/API/SBDefines.h"
17 class LLDB_API SBTraceOptions {
21 lldb::TraceType getType() const;
23 uint64_t getTraceBufferSize() const;
25 /// The trace parameters consist of any custom parameters
26 /// apart from the generic parameters such as
27 /// TraceType, trace_buffer_size and meta_data_buffer_size.
28 /// The returned parameters would be formatted as a JSON Dictionary.
29 lldb::SBStructuredData getTraceParams(lldb::SBError &error);
31 uint64_t getMetaDataBufferSize() const;
33 /// SBStructuredData is meant to hold any custom parameters
34 /// apart from meta buffer size and trace size. They should
35 /// be formatted as a JSON Dictionary.
36 void setTraceParams(lldb::SBStructuredData ¶ms);
38 void setType(lldb::TraceType type);
40 void setTraceBufferSize(uint64_t size);
42 void setMetaDataBufferSize(uint64_t size);
44 void setThreadID(lldb::tid_t thread_id);
46 lldb::tid_t getThreadID();
51 friend class SBProcess;
54 lldb::TraceOptionsSP m_traceoptions_sp;
58 #endif /* SBTRACEOPTIONS_H_ */