1 //===-- CommandObjectArgs.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 liblldb_CommandObjectArgs_h_ 11 #define liblldb_CommandObjectArgs_h_ 12 13 // C Includes 14 // C++ Includes 15 // Other libraries and framework includes 16 // Project includes 17 #include "lldb/Interpreter/CommandObject.h" 18 #include "lldb/Interpreter/Options.h" 19 #include "lldb/Core/Language.h" 20 21 namespace lldb_private { 22 23 class CommandObjectArgs : public CommandObjectParsed 24 { 25 public: 26 27 class CommandOptions : public Options 28 { 29 public: 30 31 CommandOptions (CommandInterpreter &interpreter); 32 33 virtual 34 ~CommandOptions (); 35 36 virtual Error 37 SetOptionValue (uint32_t option_idx, const char *option_arg); 38 39 void 40 OptionParsingStarting (); 41 42 const OptionDefinition* 43 GetDefinitions (); 44 45 // Options table: Required for subclasses of Options. 46 47 static OptionDefinition g_option_table[]; 48 }; 49 50 CommandObjectArgs (CommandInterpreter &interpreter); 51 52 virtual 53 ~CommandObjectArgs (); 54 55 virtual 56 Options * 57 GetOptions (); 58 59 60 protected: 61 62 CommandOptions m_options; 63 64 virtual bool 65 DoExecute ( Args& command, 66 CommandReturnObject &result); 67 68 }; 69 70 } // namespace lldb_private 71 72 #endif // liblldb_CommandObjectArgs_h_ 73