1 //===-- 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 16 namespace lldb_private { 17 class CommandInterpreterRunOptions; 18 class CommandInterpreterRunResult; 19 } // namespace lldb_private 20 21 namespace lldb { 22 23 class LLDB_API SBCommandInterpreterRunOptions { 24 friend class SBDebugger; 25 friend class SBCommandInterpreter; 26 27 public: 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 71 private: 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 81 class LLDB_API SBCommandInterpreterRunResult { 82 friend class SBDebugger; 83 friend class SBCommandInterpreter; 84 85 public: 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 96 private: 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 107