CommandObjectWatchpoint.h revision e14cf4e7dc9d561224f744807b70a8ab91a8b36d
1//===-- 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
143//-------------------------------------------------------------------------
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
193} // namespace lldb_private
194
195#endif  // liblldb_CommandObjectWatchpoint_h_
196