diff options
Diffstat (limited to 'lldb/bindings/interface/SBStructuredData.i')
-rw-r--r-- | lldb/bindings/interface/SBStructuredData.i | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/lldb/bindings/interface/SBStructuredData.i b/lldb/bindings/interface/SBStructuredData.i new file mode 100644 index 0000000000000..c7601bf6cf952 --- /dev/null +++ b/lldb/bindings/interface/SBStructuredData.i @@ -0,0 +1,63 @@ +//===-- SWIG Interface for SBStructuredData ---------------------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +namespace lldb { + + %feature("docstring", + "A class representing a StructuredData event. + + This class wraps the event type generated by StructuredData + features." + ) SBStructuredData; + class SBStructuredData + { + public: + SBStructuredData(); + + SBStructuredData(const lldb::SBStructuredData &rhs); + + SBStructuredData(const lldb::EventSP &event_sp); + + ~SBStructuredData(); + + bool + IsValid() const; + + explicit operator bool() const; + + void + Clear(); + + lldb::StructuredDataType GetType() const; + + size_t GetSize() const; + + bool GetKeys(lldb::SBStringList &keys) const; + + lldb::SBStructuredData GetValueForKey(const char *key) const; + + lldb::SBStructuredData GetItemAtIndex(size_t idx) const; + + uint64_t GetIntegerValue(uint64_t fail_value = 0) const; + + double GetFloatValue(double fail_value = 0.0) const; + + bool GetBooleanValue(bool fail_value = false) const; + + size_t GetStringValue(char *dst, size_t dst_len) const; + + lldb::SBError + GetAsJSON(lldb::SBStream &stream) const; + + lldb::SBError + GetDescription(lldb::SBStream &stream) const; + + lldb::SBError + SetFromJSON(lldb::SBStream &stream); + }; +} |