1//===-- OptionGroupOutputFile.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_INTERPRETER_OPTIONGROUPOUTPUTFILE_H
10#define LLDB_INTERPRETER_OPTIONGROUPOUTPUTFILE_H
11
12#include "lldb/Interpreter/OptionValueBoolean.h"
13#include "lldb/Interpreter/OptionValueFileSpec.h"
14#include "lldb/Interpreter/Options.h"
15
16namespace lldb_private {
17// OptionGroupOutputFile
18
19class OptionGroupOutputFile : public OptionGroup {
20public:
21 OptionGroupOutputFile();
22
23 ~OptionGroupOutputFile() override = default;
24
25 llvm::ArrayRef<OptionDefinition> GetDefinitions() override;
26
27 Status SetOptionValue(uint32_t option_idx, llvm::StringRef option_value,
28 ExecutionContext *execution_context) override;
29
30 void OptionParsingStarting(ExecutionContext *execution_context) override;
31
32 const OptionValueFileSpec &GetFile() { return m_file; }
33
34 const OptionValueBoolean &GetAppend() { return m_append; }
35
36 bool AnyOptionWasSet() const {
37 return m_file.OptionWasSet() || m_append.OptionWasSet();
38 }
39
40protected:
41 OptionValueFileSpec m_file;
42 OptionValueBoolean m_append;
43};
44
45} // namespace lldb_private
46
47#endif // LLDB_INTERPRETER_OPTIONGROUPOUTPUTFILE_H
48

source code of lldb/include/lldb/Interpreter/OptionGroupOutputFile.h