OptionGroupWatchpoint.h revision 69b6ec840171ef30af4ed7646155bffc225002ca
1//===-- OptionGroupWatchpoint.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_OptionGroupWatchpoint_h_
11#define liblldb_OptionGroupWatchpoint_h_
12
13// C Includes
14// C++ Includes
15// Other libraries and framework includes
16// Project includes
17#include "lldb/Interpreter/Options.h"
18
19namespace lldb_private {
20
21//-------------------------------------------------------------------------
22// OptionGroupWatchpoint
23//-------------------------------------------------------------------------
24
25    class OptionGroupWatchpoint : public OptionGroup
26    {
27    public:
28
29        OptionGroupWatchpoint ();
30
31        virtual
32        ~OptionGroupWatchpoint ();
33
34        virtual uint32_t
35        GetNumDefinitions ();
36
37        virtual const OptionDefinition*
38        GetDefinitions ();
39
40        virtual Error
41        SetOptionValue (CommandInterpreter &interpreter,
42                        uint32_t option_idx,
43                        const char *option_arg);
44
45        virtual void
46        OptionParsingStarting (CommandInterpreter &interpreter);
47
48        // Note:
49        // eWatchRead == LLDB_WATCH_TYPE_READ; and
50        // eWatchWrite == LLDB_WATCH_TYPE_WRITE
51        typedef enum WatchType {
52            eWatchInvalid = 0,
53            eWatchRead,
54            eWatchWrite,
55            eWatchReadWrite
56        } WatchType;
57
58        bool watch_variable;
59        WatchType watch_type;
60
61    private:
62        DISALLOW_COPY_AND_ASSIGN(OptionGroupWatchpoint);
63    };
64
65} // namespace lldb_private
66
67#endif  // liblldb_OptionGroupWatchpoint_h_
68