1 //===-- SWIG Interface for SBStructuredData ---------------------*- C++ -*-===//
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
7 //===----------------------------------------------------------------------===//
12 "A class representing a StructuredData event.
14 This class wraps the event type generated by StructuredData
17 class SBStructuredData
22 SBStructuredData(const lldb::SBStructuredData &rhs);
24 SBStructuredData(const lldb::EventSP &event_sp);
31 explicit operator bool() const;
36 lldb::StructuredDataType GetType() const;
38 size_t GetSize() const;
40 bool GetKeys(lldb::SBStringList &keys) const;
42 lldb::SBStructuredData GetValueForKey(const char *key) const;
44 lldb::SBStructuredData GetItemAtIndex(size_t idx) const;
46 uint64_t GetIntegerValue(uint64_t fail_value = 0) const;
48 double GetFloatValue(double fail_value = 0.0) const;
50 bool GetBooleanValue(bool fail_value = false) const;
52 size_t GetStringValue(char *dst, size_t dst_len) const;
55 GetAsJSON(lldb::SBStream &stream) const;
58 GetDescription(lldb::SBStream &stream) const;
61 SetFromJSON(lldb::SBStream &stream);