Files
clang-p2996/lldb/bindings/interface/SBStructuredData.i
Jonas Devlieghere 6498aff249 [lldb/Bindings] Move bindings into their own subdirectory
All the code required to generate the language bindings for Python and
Lua lives under scripts, even though the majority of this code aren't
scripts at all, and surrounded by scripts that are totally unrelated.

I've reorganized these files and moved everything related to the
language bindings into a new top-level directory named bindings. This
makes the corresponding files self contained and much more discoverable.

Differential revision: https://reviews.llvm.org/D72437
2020-01-09 08:44:34 -08:00

64 lines
1.7 KiB
C++

//===-- 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);
};
}