|  | 
|  | 1 | +//===-- SBSaveCoreOptions.h -------------------------------------*- C++ -*-===// | 
|  | 2 | +// | 
|  | 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 | 
|  | 6 | +// | 
|  | 7 | +//===----------------------------------------------------------------------===// | 
|  | 8 | + | 
|  | 9 | +#ifndef LLDB_API_SBSAVECOREOPTIONS_H | 
|  | 10 | +#define LLDB_API_SBSAVECOREOPTIONS_H | 
|  | 11 | + | 
|  | 12 | +#include "lldb/API/SBDefines.h" | 
|  | 13 | +#include "lldb/Symbol/SaveCoreOptions.h" | 
|  | 14 | + | 
|  | 15 | +namespace lldb { | 
|  | 16 | + | 
|  | 17 | +class LLDB_API SBSaveCoreOptions { | 
|  | 18 | +public: | 
|  | 19 | +  SBSaveCoreOptions(); | 
|  | 20 | +  SBSaveCoreOptions(const lldb::SBSaveCoreOptions &rhs); | 
|  | 21 | +  ~SBSaveCoreOptions() = default; | 
|  | 22 | + | 
|  | 23 | +  const SBSaveCoreOptions &operator=(const lldb::SBSaveCoreOptions &rhs); | 
|  | 24 | + | 
|  | 25 | +  /// Set the plugin name. Supplying null or empty string will reset | 
|  | 26 | +  /// the option. | 
|  | 27 | +  /// | 
|  | 28 | +  /// \param plugin Name of the object file plugin. | 
|  | 29 | +  SBError SetPluginName(const char *plugin); | 
|  | 30 | + | 
|  | 31 | +  /// Get the Core dump plugin name, if set. | 
|  | 32 | +  /// | 
|  | 33 | +  /// \return The name of the plugin, or null if not set. | 
|  | 34 | +  const char *GetPluginName() const; | 
|  | 35 | + | 
|  | 36 | +  /// Set the Core dump style. | 
|  | 37 | +  /// | 
|  | 38 | +  /// \param style The style of the core dump. | 
|  | 39 | +  void SetStyle(lldb::SaveCoreStyle style); | 
|  | 40 | + | 
|  | 41 | +  /// Get the Core dump style, if set. | 
|  | 42 | +  /// | 
|  | 43 | +  /// \return The core dump style, or undefined if not set. | 
|  | 44 | +  lldb::SaveCoreStyle GetStyle() const; | 
|  | 45 | + | 
|  | 46 | +  /// Set the output file path | 
|  | 47 | +  /// | 
|  | 48 | +  /// \param output_file a | 
|  | 49 | +  /// \class SBFileSpec object that describes the output file. | 
|  | 50 | +  void SetOutputFile(SBFileSpec output_file); | 
|  | 51 | + | 
|  | 52 | +  /// Get the output file spec | 
|  | 53 | +  /// | 
|  | 54 | +  /// \return The output file spec. | 
|  | 55 | +  SBFileSpec GetOutputFile() const; | 
|  | 56 | + | 
|  | 57 | +  /// Reset all options. | 
|  | 58 | +  void Clear(); | 
|  | 59 | + | 
|  | 60 | +protected: | 
|  | 61 | +  friend class SBProcess; | 
|  | 62 | +  lldb_private::SaveCoreOptions &ref() const; | 
|  | 63 | + | 
|  | 64 | +private: | 
|  | 65 | +  std::unique_ptr<lldb_private::SaveCoreOptions> m_opaque_up; | 
|  | 66 | +}; // SBSaveCoreOptions | 
|  | 67 | +} // namespace lldb | 
|  | 68 | + | 
|  | 69 | +#endif // LLDB_API_SBSAVECOREOPTIONS_H | 
0 commit comments