Files
clang-r547379/include/lldb/API/SBSaveCoreOptions.h
Ryan Prichard 6024e5c395 Update prebuilt Clang to r547379 (20.0.0).
clang 20.0.0 (based on r547379) from build 12806354.

Bug: http://b/379133546
Test: N/A
Change-Id: I2eb8938af55d809de674be63cb30cf27e801862b

Upstream-Commit: ad834e67b1105d15ef907f6255d4c96e8e733f57
2025-11-26 14:59:46 -05:00

96 lines
2.9 KiB
C++

//===-- SBSaveCoreOptions.h -------------------------------------*- 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
//
//===----------------------------------------------------------------------===//
#ifndef LLDB_API_SBSAVECOREOPTIONS_H
#define LLDB_API_SBSAVECOREOPTIONS_H
#include "lldb/API/SBDefines.h"
#include "lldb/API/SBError.h"
#include "lldb/API/SBFileSpec.h"
#include "lldb/API/SBProcess.h"
#include "lldb/API/SBThread.h"
namespace lldb {
class LLDB_API SBSaveCoreOptions {
public:
SBSaveCoreOptions();
SBSaveCoreOptions(const lldb::SBSaveCoreOptions &rhs);
~SBSaveCoreOptions();
const SBSaveCoreOptions &operator=(const lldb::SBSaveCoreOptions &rhs);
/// Set the plugin name. Supplying null or empty string will reset
/// the option.
///
/// \param plugin Name of the object file plugin.
SBError SetPluginName(const char *plugin);
/// Get the Core dump plugin name, if set.
///
/// \return The name of the plugin, or null if not set.
const char *GetPluginName() const;
/// Set the Core dump style.
///
/// \param style The style of the core dump.
void SetStyle(lldb::SaveCoreStyle style);
/// Get the Core dump style, if set.
///
/// \return The core dump style, or undefined if not set.
lldb::SaveCoreStyle GetStyle() const;
/// Set the output file path
///
/// \param output_file a
/// \class SBFileSpec object that describes the output file.
void SetOutputFile(SBFileSpec output_file);
/// Get the output file spec
///
/// \return The output file spec.
SBFileSpec GetOutputFile() const;
/// Set the process to save, or unset if supplied with a default constructed
/// process.
///
/// \param process The process to save.
/// \return Success if process was set, otherwise an error
/// \note This will clear all process specific options if a different process
/// is specified than the current set process, either explicitly from this
/// api, or implicitly from any function that requires a process.
SBError SetProcess(lldb::SBProcess process);
/// Add a thread to save in the core file.
///
/// \param thread The thread to save.
/// \note This will set the process if it is not already set, or return
/// and error if the SBThread is not from the set process.
SBError AddThread(lldb::SBThread thread);
/// Remove a thread from the list of threads to save.
///
/// \param thread The thread to remove.
/// \return True if the thread was removed, false if it was not in the list.
bool RemoveThread(lldb::SBThread thread);
/// Reset all options.
void Clear();
protected:
friend class SBProcess;
lldb_private::SaveCoreOptions &ref() const;
private:
std::unique_ptr<lldb_private::SaveCoreOptions> m_opaque_up;
}; // SBSaveCoreOptions
} // namespace lldb
#endif // LLDB_API_SBSAVECOREOPTIONS_H