blob: 3c00513faaa712727fba19a87d579e3b912fcb2f [file] [log] [blame]
Olivier Deprezf4ef2d02021-04-20 13:36:24 +02001//===-- SBCommandInterpreterRunOptions.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_SBCOMMANDINTERPRETERRUNOPTIONS_H
10#define LLDB_API_SBCOMMANDINTERPRETERRUNOPTIONS_H
11
12#include <memory>
13
14#include "lldb/API/SBDefines.h"
15
16namespace lldb_private {
17class CommandInterpreterRunOptions;
18class CommandInterpreterRunResult;
19} // namespace lldb_private
20
21namespace lldb {
22
23class LLDB_API SBCommandInterpreterRunOptions {
24 friend class SBDebugger;
25 friend class SBCommandInterpreter;
26
27public:
28 SBCommandInterpreterRunOptions();
29 SBCommandInterpreterRunOptions(const SBCommandInterpreterRunOptions &rhs);
30 ~SBCommandInterpreterRunOptions();
31
32 SBCommandInterpreterRunOptions &
33 operator=(const SBCommandInterpreterRunOptions &rhs);
34
35 bool GetStopOnContinue() const;
36
37 void SetStopOnContinue(bool);
38
39 bool GetStopOnError() const;
40
41 void SetStopOnError(bool);
42
43 bool GetStopOnCrash() const;
44
45 void SetStopOnCrash(bool);
46
47 bool GetEchoCommands() const;
48
49 void SetEchoCommands(bool);
50
51 bool GetEchoCommentCommands() const;
52
53 void SetEchoCommentCommands(bool echo);
54
55 bool GetPrintResults() const;
56
57 void SetPrintResults(bool);
58
59 bool GetAddToHistory() const;
60
61 void SetAddToHistory(bool);
62
63 bool GetAutoHandleEvents() const;
64
65 void SetAutoHandleEvents(bool);
66
67 bool GetSpawnThread() const;
68
69 void SetSpawnThread(bool);
70
71private:
72 lldb_private::CommandInterpreterRunOptions *get() const;
73
74 lldb_private::CommandInterpreterRunOptions &ref() const;
75
76 // This is set in the constructor and will always be valid.
77 mutable std::unique_ptr<lldb_private::CommandInterpreterRunOptions>
78 m_opaque_up;
79};
80
81class LLDB_API SBCommandInterpreterRunResult {
82 friend class SBDebugger;
83 friend class SBCommandInterpreter;
84
85public:
86 SBCommandInterpreterRunResult();
87 SBCommandInterpreterRunResult(const SBCommandInterpreterRunResult &rhs);
88 ~SBCommandInterpreterRunResult();
89
90 SBCommandInterpreterRunResult &
91 operator=(const SBCommandInterpreterRunResult &rhs);
92
93 int GetNumberOfErrors() const;
94 lldb::CommandInterpreterResult GetResult() const;
95
96private:
97 SBCommandInterpreterRunResult(
98 const lldb_private::CommandInterpreterRunResult &rhs);
99
100 // This is set in the constructor and will always be valid.
101 std::unique_ptr<lldb_private::CommandInterpreterRunResult> m_opaque_up;
102};
103
104} // namespace lldb
105
106#endif // LLDB_API_SBCOMMANDINTERPRETERRUNOPTIONS_H