1 //===-- OptionValueArch.h -----------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef liblldb_OptionValueArch_h_
11 #define liblldb_OptionValueArch_h_
15 // Other libraries and framework includes
17 #include "lldb/Core/ArchSpec.h"
18 #include "lldb/Interpreter/OptionValue.h"
20 namespace lldb_private {
22 class OptionValueArch : public OptionValue
32 OptionValueArch (const char *triple) :
34 m_current_value (triple),
37 m_default_value = m_current_value;
40 OptionValueArch (const ArchSpec &value) :
42 m_current_value (value),
43 m_default_value (value)
47 OptionValueArch (const ArchSpec ¤t_value,
48 const ArchSpec &default_value) :
50 m_current_value (current_value),
51 m_default_value (default_value)
60 //---------------------------------------------------------------------
61 // Virtual subclass pure virtual overrides
62 //---------------------------------------------------------------------
64 virtual OptionValue::Type
71 DumpValue (const ExecutionContext *exe_ctx, Stream &strm, uint32_t dump_mask);
74 SetValueFromCString (const char *value,
75 VarSetOperationType op = eVarSetOperationAssign);
80 m_current_value = m_default_value;
81 m_value_was_set = false;
85 virtual lldb::OptionValueSP
89 AutoComplete (CommandInterpreter &interpreter,
91 int match_start_point,
92 int max_return_elements,
96 //---------------------------------------------------------------------
97 // Subclass specific functions
98 //---------------------------------------------------------------------
103 return m_current_value;
107 GetCurrentValue() const
109 return m_current_value;
113 GetDefaultValue() const
115 return m_default_value;
119 SetCurrentValue (const ArchSpec &value, bool set_value_was_set)
121 m_current_value = value;
122 if (set_value_was_set)
123 m_value_was_set = true;
127 SetDefaultValue (const ArchSpec &value)
129 m_default_value = value;
133 ArchSpec m_current_value;
134 ArchSpec m_default_value;
137 } // namespace lldb_private
139 #endif // liblldb_OptionValueArch_h_