| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 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" | 
| Jim Ingham | 40af72e | 2010-06-15 19:49:27 +0000 | [diff] [blame] | 18 | #include "lldb/Interpreter/Options.h" | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 19 | #include "lldb/Core/Language.h" | 
|  | 20 |  | 
|  | 21 | namespace lldb_private { | 
|  | 22 |  | 
| Jim Ingham | 5a98841 | 2012-06-08 21:56:10 +0000 | [diff] [blame] | 23 | class CommandObjectArgs : public CommandObjectParsed | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 24 | { | 
|  | 25 | public: | 
|  | 26 |  | 
|  | 27 | class CommandOptions : public Options | 
|  | 28 | { | 
|  | 29 | public: | 
|  | 30 |  | 
| Greg Clayton | eb0103f | 2011-04-07 22:46:35 +0000 | [diff] [blame] | 31 | CommandOptions (CommandInterpreter &interpreter); | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 32 |  | 
|  | 33 | virtual | 
|  | 34 | ~CommandOptions (); | 
|  | 35 |  | 
|  | 36 | virtual Error | 
| Greg Clayton | f6b8b58 | 2011-04-13 00:18:08 +0000 | [diff] [blame] | 37 | SetOptionValue (uint32_t option_idx, const char *option_arg); | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 38 |  | 
|  | 39 | void | 
| Greg Clayton | f6b8b58 | 2011-04-13 00:18:08 +0000 | [diff] [blame] | 40 | OptionParsingStarting (); | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 41 |  | 
| Greg Clayton | e0d378b | 2011-03-24 21:19:54 +0000 | [diff] [blame] | 42 | const OptionDefinition* | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 43 | GetDefinitions (); | 
|  | 44 |  | 
|  | 45 | // Options table: Required for subclasses of Options. | 
|  | 46 |  | 
| Greg Clayton | e0d378b | 2011-03-24 21:19:54 +0000 | [diff] [blame] | 47 | static OptionDefinition g_option_table[]; | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 48 | }; | 
|  | 49 |  | 
| Greg Clayton | a701509 | 2010-09-18 01:14:36 +0000 | [diff] [blame] | 50 | CommandObjectArgs (CommandInterpreter &interpreter); | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 51 |  | 
|  | 52 | virtual | 
|  | 53 | ~CommandObjectArgs (); | 
|  | 54 |  | 
|  | 55 | virtual | 
|  | 56 | Options * | 
|  | 57 | GetOptions (); | 
|  | 58 |  | 
|  | 59 |  | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 60 | protected: | 
|  | 61 |  | 
|  | 62 | CommandOptions m_options; | 
| Jim Ingham | 5a98841 | 2012-06-08 21:56:10 +0000 | [diff] [blame] | 63 |  | 
|  | 64 | virtual bool | 
|  | 65 | DoExecute (    Args& command, | 
|  | 66 | CommandReturnObject &result); | 
|  | 67 |  | 
| Chris Lattner | 30fdc8d | 2010-06-08 16:52:24 +0000 | [diff] [blame] | 68 | }; | 
|  | 69 |  | 
|  | 70 | } // namespace lldb_private | 
|  | 71 |  | 
|  | 72 | #endif  // liblldb_CommandObjectArgs_h_ |