1254721Semaste//===-- OptionValueUUID.h --------------------------------------*- C++ -*-===// 2254721Semaste// 3254721Semaste// The LLVM Compiler Infrastructure 4254721Semaste// 5254721Semaste// This file is distributed under the University of Illinois Open Source 6254721Semaste// License. See LICENSE.TXT for details. 7254721Semaste// 8254721Semaste//===----------------------------------------------------------------------===// 9254721Semaste 10254721Semaste#ifndef liblldb_OptionValueUUID_h_ 11254721Semaste#define liblldb_OptionValueUUID_h_ 12254721Semaste 13254721Semaste// C Includes 14254721Semaste// C++ Includes 15254721Semaste// Other libraries and framework includes 16254721Semaste// Project includes 17254721Semaste#include "lldb/Core/UUID.h" 18254721Semaste#include "lldb/Interpreter/OptionValue.h" 19254721Semaste 20254721Semastenamespace lldb_private { 21254721Semaste 22254721Semasteclass OptionValueUUID : public OptionValue 23254721Semaste{ 24254721Semastepublic: 25254721Semaste OptionValueUUID () : 26254721Semaste OptionValue(), 27254721Semaste m_uuid () 28254721Semaste { 29254721Semaste } 30254721Semaste 31254721Semaste OptionValueUUID (const UUID &uuid) : 32254721Semaste OptionValue(), 33254721Semaste m_uuid (uuid) 34254721Semaste { 35254721Semaste } 36254721Semaste 37254721Semaste virtual 38254721Semaste ~OptionValueUUID() 39254721Semaste { 40254721Semaste } 41254721Semaste 42254721Semaste //--------------------------------------------------------------------- 43254721Semaste // Virtual subclass pure virtual overrides 44254721Semaste //--------------------------------------------------------------------- 45254721Semaste 46254721Semaste virtual OptionValue::Type 47254721Semaste GetType () const 48254721Semaste { 49254721Semaste return eTypeUUID; 50254721Semaste } 51254721Semaste 52254721Semaste virtual void 53254721Semaste DumpValue (const ExecutionContext *exe_ctx, Stream &strm, uint32_t dump_mask); 54254721Semaste 55254721Semaste virtual Error 56254721Semaste SetValueFromCString (const char *value, 57254721Semaste VarSetOperationType op = eVarSetOperationAssign); 58254721Semaste 59254721Semaste virtual bool 60254721Semaste Clear () 61254721Semaste { 62254721Semaste m_uuid.Clear(); 63254721Semaste m_value_was_set = false; 64254721Semaste return true; 65254721Semaste } 66254721Semaste 67254721Semaste virtual lldb::OptionValueSP 68254721Semaste DeepCopy () const; 69254721Semaste 70254721Semaste //--------------------------------------------------------------------- 71254721Semaste // Subclass specific functions 72254721Semaste //--------------------------------------------------------------------- 73254721Semaste 74254721Semaste UUID & 75254721Semaste GetCurrentValue() 76254721Semaste { 77254721Semaste return m_uuid; 78254721Semaste } 79254721Semaste 80254721Semaste const UUID & 81254721Semaste GetCurrentValue() const 82254721Semaste { 83254721Semaste return m_uuid; 84254721Semaste } 85254721Semaste 86254721Semaste void 87254721Semaste SetCurrentValue (const UUID &value) 88254721Semaste { 89254721Semaste m_uuid = value; 90254721Semaste } 91254721Semaste 92254721Semaste virtual size_t 93254721Semaste AutoComplete (CommandInterpreter &interpreter, 94254721Semaste const char *s, 95254721Semaste int match_start_point, 96254721Semaste int max_return_elements, 97254721Semaste bool &word_complete, 98254721Semaste StringList &matches); 99254721Semaste 100254721Semasteprotected: 101254721Semaste UUID m_uuid; 102254721Semaste}; 103254721Semaste 104254721Semaste} // namespace lldb_private 105254721Semaste 106254721Semaste#endif // liblldb_OptionValueUUID_h_ 107