OptionGroupWatchpoint.h revision 58dba3ce82715249c068abb7bf99f0d43dfbe8f9
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        typedef enum WatchMode {
49            eWatchRead,
50            eWatchWrite,
51            eWatchReadWrite
52        } WatchMode;
53
54        bool watch_variable;
55        WatchMode watch_mode;
56
57    private:
58        DISALLOW_COPY_AND_ASSIGN(OptionGroupWatchpoint);
59    };
60
61} // namespace lldb_private
62
63#endif  // liblldb_OptionGroupWatchpoint_h_
64