blob: 508188eff1a27989fe6b087ed8e605c11abfc405 [file] [log] [blame]
Johnny Chen01acfa72011-09-22 18:04:58 +00001//===-- CommandObjectWatchpoint.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_CommandObjectWatchpoint_h_
11#define liblldb_CommandObjectWatchpoint_h_
12
13// C Includes
14// C++ Includes
15
16// Other libraries and framework includes
17// Project includes
18#include "lldb/Interpreter/CommandObjectMultiword.h"
19#include "lldb/Interpreter/Options.h"
20
21namespace lldb_private {
22
23//-------------------------------------------------------------------------
24// CommandObjectMultiwordWatchpoint
25//-------------------------------------------------------------------------
26
27class CommandObjectMultiwordWatchpoint : public CommandObjectMultiword
28{
29public:
30 CommandObjectMultiwordWatchpoint (CommandInterpreter &interpreter);
31
32 virtual
33 ~CommandObjectMultiwordWatchpoint ();
34};
35
36//-------------------------------------------------------------------------
37// CommandObjectWatchpointList
38//-------------------------------------------------------------------------
39
40class CommandObjectWatchpointList : public CommandObject
41{
42public:
43 CommandObjectWatchpointList (CommandInterpreter &interpreter);
44
45 virtual
46 ~CommandObjectWatchpointList ();
47
48 virtual bool
49 Execute (Args& command,
50 CommandReturnObject &result);
51
52 virtual Options *
53 GetOptions ();
54
55 class CommandOptions : public Options
56 {
57 public:
58
59 CommandOptions (CommandInterpreter &interpreter);
60
61 virtual
62 ~CommandOptions ();
63
64 virtual Error
65 SetOptionValue (uint32_t option_idx, const char *option_arg);
66
67 void
68 OptionParsingStarting ();
69
70 const OptionDefinition *
71 GetDefinitions ();
72
73 // Options table: Required for subclasses of Options.
74
75 static OptionDefinition g_option_table[];
76
77 // Instance variables to hold the values for command options.
78
79 lldb::DescriptionLevel m_level;
80 };
81
82private:
83 CommandOptions m_options;
84};
85
86//-------------------------------------------------------------------------
87// CommandObjectWatchpointEnable
88//-------------------------------------------------------------------------
89
90class CommandObjectWatchpointEnable : public CommandObject
91{
92public:
93 CommandObjectWatchpointEnable (CommandInterpreter &interpreter);
94
95 virtual
96 ~CommandObjectWatchpointEnable ();
97
98 virtual bool
99 Execute (Args& command,
100 CommandReturnObject &result);
101
102private:
103};
104
105//-------------------------------------------------------------------------
106// CommandObjectWatchpointDisable
107//-------------------------------------------------------------------------
108
109class CommandObjectWatchpointDisable : public CommandObject
110{
111public:
112 CommandObjectWatchpointDisable (CommandInterpreter &interpreter);
113
114 virtual
115 ~CommandObjectWatchpointDisable ();
116
117 virtual bool
118 Execute (Args& command,
119 CommandReturnObject &result);
120
121private:
122};
123
124//-------------------------------------------------------------------------
125// CommandObjectWatchpointDelete
126//-------------------------------------------------------------------------
127
128class CommandObjectWatchpointDelete : public CommandObject
129{
130public:
131 CommandObjectWatchpointDelete (CommandInterpreter &interpreter);
132
133 virtual
134 ~CommandObjectWatchpointDelete ();
135
136 virtual bool
137 Execute (Args& command,
138 CommandReturnObject &result);
139
140private:
141};
142
Johnny Chene14cf4e2011-10-05 21:35:46 +0000143//-------------------------------------------------------------------------
144// CommandObjectWatchpointIgnore
145//-------------------------------------------------------------------------
146
147class CommandObjectWatchpointIgnore : public CommandObject
148{
149public:
150 CommandObjectWatchpointIgnore (CommandInterpreter &interpreter);
151
152 virtual
153 ~CommandObjectWatchpointIgnore ();
154
155 virtual bool
156 Execute (Args& command,
157 CommandReturnObject &result);
158
159 virtual Options *
160 GetOptions ();
161
162 class CommandOptions : public Options
163 {
164 public:
165
166 CommandOptions (CommandInterpreter &interpreter);
167
168 virtual
169 ~CommandOptions ();
170
171 virtual Error
172 SetOptionValue (uint32_t option_idx, const char *option_arg);
173
174 void
175 OptionParsingStarting ();
176
177 const OptionDefinition *
178 GetDefinitions ();
179
180 // Options table: Required for subclasses of Options.
181
182 static OptionDefinition g_option_table[];
183
184 // Instance variables to hold the values for command options.
185
186 uint32_t m_ignore_count;
187 };
188
189private:
190 CommandOptions m_options;
191};
192
Johnny Chen01acfa72011-09-22 18:04:58 +0000193} // namespace lldb_private
194
195#endif // liblldb_CommandObjectWatchpoint_h_