1 //===-- SWIG Interface for SBTraceCursor.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 9 namespace lldb { 10 11 %feature("docstring", 12 "Represents a trace cursor." 13 ) SBTrace; 14 class LLDB_API SBTraceCursor { 15 public: 16 SBTraceCursor(); 17 18 SBTraceCursor(lldb::TraceCursorSP trace_cursor_sp); 19 20 void SetForwards(bool forwards); 21 22 bool IsForwards() const; 23 24 void Next(); 25 26 bool HasValue(); 27 28 bool GoToId(lldb::user_id_t id); 29 30 bool HasId(lldb::user_id_t id) const; 31 32 lldb::user_id_t GetId() const; 33 34 bool Seek(int64_t offset, lldb::TraceCursorSeekType origin); 35 36 lldb::TraceItemKind GetItemKind() const; 37 38 bool IsError() const; 39 40 const char *GetError() const; 41 42 bool IsEvent() const; 43 44 lldb::TraceEvent GetEventType() const; 45 46 const char *GetEventTypeAsString() const; 47 48 bool IsInstruction() const; 49 50 lldb::addr_t GetLoadAddress() const; 51 52 lldb::cpu_id_t GetCPU() const; 53 54 bool IsValid() const; 55 56 explicit operator bool() const; 57 }; 58 } // namespace lldb 59