blob: a4b3f9fed0eeae66c468fadea4a4846b94f1bd98 [file] [log] [blame]
Chris Lattner30fdc8d2010-06-08 16:52:24 +00001//===-- 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 Ingham40af72e2010-06-15 19:49:27 +000018#include "lldb/Interpreter/Options.h"
Chris Lattner30fdc8d2010-06-08 16:52:24 +000019
20namespace lldb_private {
Jim Ingham5a988412012-06-08 21:56:10 +000021
Kate Stoneb9c1b512016-09-06 20:57:50 +000022class CommandObjectArgs : public CommandObjectParsed {
23public:
24 class CommandOptions : public Options {
25 public:
26 CommandOptions(CommandInterpreter &interpreter);
27
28 ~CommandOptions() override;
29
Zachary Turnerfe114832016-11-12 16:56:47 +000030 Error SetOptionValue(uint32_t option_idx, llvm::StringRef option_arg,
Kate Stoneb9c1b512016-09-06 20:57:50 +000031 ExecutionContext *execution_context) override;
32
33 void OptionParsingStarting(ExecutionContext *execution_context) override;
34
Zachary Turner1f0f5b52016-09-22 20:22:55 +000035 llvm::ArrayRef<OptionDefinition> GetDefinitions() override;
Kate Stoneb9c1b512016-09-06 20:57:50 +000036 };
37
38 CommandObjectArgs(CommandInterpreter &interpreter);
39
40 ~CommandObjectArgs() override;
41
42 Options *GetOptions() override;
43
44protected:
45 CommandOptions m_options;
46
47 bool DoExecute(Args &command, CommandReturnObject &result) override;
48};
49
Chris Lattner30fdc8d2010-06-08 16:52:24 +000050} // namespace lldb_private
51
Pavel Labath1fb7e202015-09-02 09:33:09 +000052#endif // liblldb_CommandObjectArgs_h_