SBExpressionOptions.h revision 102b2c2681c9a830afe25bfea35557421905e42c
1//===-- SBEvent.h -----------------------------------------------*- C++ -*-===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// 9 10#ifndef LLDB_SBExpressionOptions_h_ 11#define LLDB_SBExpressionOptions_h_ 12 13#include "lldb/API/SBDefines.h" 14 15#include <vector> 16 17namespace lldb { 18 19 20class SBExpressionOptions 21{ 22public: 23 SBExpressionOptions(); 24 25 SBExpressionOptions (const lldb::SBExpressionOptions &rhs); 26 27 ~SBExpressionOptions(); 28 29 const SBExpressionOptions & 30 operator = (const lldb::SBExpressionOptions &rhs); 31 32 bool 33 GetCoerceResultToId () const; 34 35 void 36 SetCoerceResultToId (bool coerce = true); 37 38 bool 39 GetUnwindOnError () const; 40 41 void 42 SetUnwindOnError (bool unwind = true); 43 44 bool 45 GetIgnoreBreakpoints () const; 46 47 void 48 SetIgnoreBreakpoints (bool ignore = true); 49 50 lldb::DynamicValueType 51 GetFetchDynamicValue () const; 52 53 void 54 SetFetchDynamicValue (lldb::DynamicValueType dynamic = lldb::eDynamicCanRunTarget); 55 56 uint32_t 57 GetTimeoutInMicroSeconds () const; 58 59 void 60 SetTimeoutInMicroSeconds (uint32_t timeout = 0); 61 62 bool 63 GetTryAllThreads () const; 64 65 void 66 SetTryAllThreads (bool run_others = true); 67 68protected: 69 70 SBExpressionOptions (lldb_private::EvaluateExpressionOptions &expression_options); 71 72 lldb_private::EvaluateExpressionOptions * 73 get () const; 74 75 lldb_private::EvaluateExpressionOptions & 76 ref () const; 77 78 friend class SBFrame; 79 friend class SBValue; 80 friend class SBTarget; 81 82private: 83 // This auto_pointer is made in the constructor and is always valid. 84 mutable std::unique_ptr<lldb_private::EvaluateExpressionOptions> m_opaque_ap; 85}; 86 87} // namespace lldb 88 89#endif // LLDB_SBExpressionOptions_h_ 90