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 GetPrintErrors() const; 60 61 void SetPrintErrors(bool); 62 63 bool GetAddToHistory() const; 64 65 void SetAddToHistory(bool); 66 67 bool GetAutoHandleEvents() const; 68 69 void SetAutoHandleEvents(bool); 70 71 bool GetSpawnThread() const; 72 73 void SetSpawnThread(bool); 74 75 private: 76 lldb_private::CommandInterpreterRunOptions *get() const; 77 78 lldb_private::CommandInterpreterRunOptions &ref() const; 79 80 // This is set in the constructor and will always be valid. 81 mutable std::unique_ptr<lldb_private::CommandInterpreterRunOptions> 82 m_opaque_up; 83 }; 84 85 class LLDB_API SBCommandInterpreterRunResult { 86 friend class SBDebugger; 87 friend class SBCommandInterpreter; 88 89 public: 90 SBCommandInterpreterRunResult(); 91 SBCommandInterpreterRunResult(const SBCommandInterpreterRunResult &rhs); 92 ~SBCommandInterpreterRunResult(); 93 94 SBCommandInterpreterRunResult & 95 operator=(const SBCommandInterpreterRunResult &rhs); 96 97 int GetNumberOfErrors() const; 98 lldb::CommandInterpreterResult GetResult() const; 99 100 private: 101 SBCommandInterpreterRunResult( 102 const lldb_private::CommandInterpreterRunResult &rhs); 103 104 // This is set in the constructor and will always be valid. 105 std::unique_ptr<lldb_private::CommandInterpreterRunResult> m_opaque_up; 106 }; 107 108 } // namespace lldb 109 110 #endif // LLDB_API_SBCOMMANDINTERPRETERRUNOPTIONS_H 111