1 //===-- OptionGroupFile.cpp -------------------------------*- 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 #include "lldb/Interpreter/OptionGroupFile.h" 11 12 // C Includes 13 // C++ Includes 14 // Other libraries and framework includes 15 // Project includes 16 17 using namespace lldb; 18 using namespace lldb_private; 19 20 OptionGroupFile::OptionGroupFile (uint32_t usage_mask, 21 bool required, 22 const char *long_option, 23 int short_option, 24 uint32_t completion_type, 25 lldb::CommandArgumentType argument_type, 26 const char *usage_text) : 27 m_file () 28 { 29 m_option_definition.usage_mask = usage_mask; 30 m_option_definition.required = required; 31 m_option_definition.long_option = long_option; 32 m_option_definition.short_option = short_option; 33 m_option_definition.validator = nullptr; 34 m_option_definition.option_has_arg = OptionParser::eRequiredArgument; 35 m_option_definition.enum_values = nullptr; 36 m_option_definition.completion_type = completion_type; 37 m_option_definition.argument_type = argument_type; 38 m_option_definition.usage_text = usage_text; 39 } 40 41 OptionGroupFile::~OptionGroupFile () 42 { 43 } 44 45 Error 46 OptionGroupFile::SetOptionValue (CommandInterpreter &interpreter, 47 uint32_t option_idx, 48 const char *option_arg) 49 { 50 Error error (m_file.SetValueFromString (option_arg)); 51 return error; 52 } 53 54 void 55 OptionGroupFile::OptionParsingStarting (CommandInterpreter &interpreter) 56 { 57 m_file.Clear(); 58 } 59 60 61 OptionGroupFileList::OptionGroupFileList (uint32_t usage_mask, 62 bool required, 63 const char *long_option, 64 int short_option, 65 uint32_t completion_type, 66 lldb::CommandArgumentType argument_type, 67 const char *usage_text) : 68 m_file_list () 69 { 70 m_option_definition.usage_mask = usage_mask; 71 m_option_definition.required = required; 72 m_option_definition.long_option = long_option; 73 m_option_definition.short_option = short_option; 74 m_option_definition.validator = nullptr; 75 m_option_definition.option_has_arg = OptionParser::eRequiredArgument; 76 m_option_definition.enum_values = nullptr; 77 m_option_definition.completion_type = completion_type; 78 m_option_definition.argument_type = argument_type; 79 m_option_definition.usage_text = usage_text; 80 } 81 82 OptionGroupFileList::~OptionGroupFileList () 83 { 84 } 85 86 Error 87 OptionGroupFileList::SetOptionValue (CommandInterpreter &interpreter, 88 uint32_t option_idx, 89 const char *option_arg) 90 { 91 Error error (m_file_list.SetValueFromString (option_arg)); 92 return error; 93 } 94 95 void 96 OptionGroupFileList::OptionParsingStarting (CommandInterpreter &interpreter) 97 { 98 m_file_list.Clear(); 99 } 100