1061da546Spatrick //===-- SWIG Interface for SBStructuredData ---------------------*- C++ -*-===// 2061da546Spatrick // 3061da546Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4061da546Spatrick // See https://llvm.org/LICENSE.txt for license information. 5061da546Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6061da546Spatrick // 7061da546Spatrick //===----------------------------------------------------------------------===// 8061da546Spatrick 9061da546Spatrick namespace lldb { 10061da546Spatrick 11061da546Spatrick %feature("docstring", 12061da546Spatrick "A class representing a StructuredData event. 13061da546Spatrick 14*be691f3bSpatrick This class wraps the event type generated by StructuredData features." 15061da546Spatrick ) SBStructuredData; 16061da546Spatrick class SBStructuredData 17061da546Spatrick { 18061da546Spatrick public: 19061da546Spatrick SBStructuredData(); 20061da546Spatrick 21061da546Spatrick SBStructuredData(const lldb::SBStructuredData &rhs); 22061da546Spatrick 23061da546Spatrick SBStructuredData(const lldb::EventSP &event_sp); 24061da546Spatrick 25061da546Spatrick ~SBStructuredData(); 26061da546Spatrick 27061da546Spatrick bool 28061da546Spatrick IsValid() const; 29061da546Spatrick 30061da546Spatrick explicit operator bool() const; 31061da546Spatrick 32061da546Spatrick void 33061da546Spatrick Clear(); 34061da546Spatrick 35061da546Spatrick lldb::StructuredDataType GetType() const; 36061da546Spatrick 37061da546Spatrick size_t GetSize() const; 38061da546Spatrick 39061da546Spatrick bool GetKeys(lldb::SBStringList &keys) const; 40061da546Spatrick 41061da546Spatrick lldb::SBStructuredData GetValueForKey(const char *key) const; 42061da546Spatrick 43061da546Spatrick lldb::SBStructuredData GetItemAtIndex(size_t idx) const; 44061da546Spatrick 45061da546Spatrick uint64_t GetIntegerValue(uint64_t fail_value = 0) const; 46061da546Spatrick 47061da546Spatrick double GetFloatValue(double fail_value = 0.0) const; 48061da546Spatrick 49061da546Spatrick bool GetBooleanValue(bool fail_value = false) const; 50061da546Spatrick 51061da546Spatrick size_t GetStringValue(char *dst, size_t dst_len) const; 52061da546Spatrick 53061da546Spatrick lldb::SBError 54061da546Spatrick GetAsJSON(lldb::SBStream &stream) const; 55061da546Spatrick 56061da546Spatrick lldb::SBError 57061da546Spatrick GetDescription(lldb::SBStream &stream) const; 58061da546Spatrick 59061da546Spatrick lldb::SBError 60061da546Spatrick SetFromJSON(lldb::SBStream &stream); 61*be691f3bSpatrick 62*be691f3bSpatrick lldb::SBError 63*be691f3bSpatrick SetFromJSON(const char *json); 64061da546Spatrick }; 65061da546Spatrick } 66