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
128 lines
2.8 KiB
C++
128 lines
2.8 KiB
C++
//===-- SWIG Interface for SBCommandReturnObject ----------------*- 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",
|
|
"Represents a container which holds the result from command execution.
|
|
It works with SBCommandInterpreter.HandleCommand() to encapsulate the result
|
|
of command execution.
|
|
|
|
See SBCommandInterpreter for example usage of SBCommandReturnObject."
|
|
) SBCommandReturnObject;
|
|
class SBCommandReturnObject
|
|
{
|
|
public:
|
|
|
|
SBCommandReturnObject ();
|
|
|
|
SBCommandReturnObject (const lldb::SBCommandReturnObject &rhs);
|
|
|
|
~SBCommandReturnObject ();
|
|
|
|
bool
|
|
IsValid() const;
|
|
|
|
explicit operator bool() const;
|
|
|
|
const char *
|
|
GetOutput ();
|
|
|
|
const char *
|
|
GetError ();
|
|
|
|
size_t
|
|
GetOutputSize ();
|
|
|
|
size_t
|
|
GetErrorSize ();
|
|
|
|
const char *
|
|
GetOutput (bool only_if_no_immediate);
|
|
|
|
const char *
|
|
GetError (bool if_no_immediate);
|
|
|
|
size_t
|
|
PutOutput (lldb::SBFile file);
|
|
|
|
size_t
|
|
PutError (lldb::SBFile file);
|
|
|
|
size_t
|
|
PutOutput (lldb::FileSP BORROWED);
|
|
|
|
size_t
|
|
PutError (lldb::FileSP BORROWED);
|
|
|
|
void
|
|
Clear();
|
|
|
|
void
|
|
SetStatus (lldb::ReturnStatus status);
|
|
|
|
void
|
|
SetError (lldb::SBError &error,
|
|
const char *fallback_error_cstr = NULL);
|
|
|
|
void
|
|
SetError (const char *error_cstr);
|
|
|
|
lldb::ReturnStatus
|
|
GetStatus();
|
|
|
|
bool
|
|
Succeeded ();
|
|
|
|
bool
|
|
HasResult ();
|
|
|
|
void
|
|
AppendMessage (const char *message);
|
|
|
|
void
|
|
AppendWarning (const char *message);
|
|
|
|
bool
|
|
GetDescription (lldb::SBStream &description);
|
|
|
|
void SetImmediateOutputFile(lldb::SBFile file);
|
|
void SetImmediateErrorFile(lldb::SBFile file);
|
|
void SetImmediateOutputFile(lldb::FileSP BORROWED);
|
|
void SetImmediateErrorFile(lldb::FileSP BORROWED);
|
|
|
|
STRING_EXTENSION(SBCommandReturnObject)
|
|
|
|
%extend {
|
|
// transfer_ownership does nothing, and is here for compatibility with
|
|
// old scripts. Ownership is tracked by reference count in the ordinary way.
|
|
|
|
void SetImmediateOutputFile(lldb::FileSP BORROWED, bool transfer_ownership) {
|
|
self->SetImmediateOutputFile(BORROWED);
|
|
}
|
|
void SetImmediateErrorFile(lldb::FileSP BORROWED, bool transfer_ownership) {
|
|
self->SetImmediateErrorFile(BORROWED);
|
|
}
|
|
}
|
|
|
|
void
|
|
PutCString(const char* string, int len);
|
|
|
|
// wrapping the variadic Printf() with a plain Print()
|
|
// because it is hard to support varargs in SWIG bridgings
|
|
%extend {
|
|
void Print (const char* str)
|
|
{
|
|
self->Printf("%s", str);
|
|
}
|
|
}
|
|
|
|
};
|
|
|
|
} // namespace lldb
|