1 //===-- CommandObjectBreakpoint.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_CommandObjectBreakpoint_h_
11 #define liblldb_CommandObjectBreakpoint_h_
12 
13 // C Includes
14 // C++ Includes
15 
16 #include <utility>
17 #include <vector>
18 
19 // Other libraries and framework includes
20 // Project includes
21 #include "lldb/Core/Address.h"
22 #include "lldb/Interpreter/CommandObjectMultiword.h"
23 #include "lldb/Interpreter/Options.h"
24 #include "lldb/Core/STLUtils.h"
25 
26 namespace lldb_private {
27 
28 //-------------------------------------------------------------------------
29 // CommandObjectMultiwordBreakpoint
30 //-------------------------------------------------------------------------
31 
32 class CommandObjectMultiwordBreakpoint : public CommandObjectMultiword
33 {
34 public:
35     CommandObjectMultiwordBreakpoint (CommandInterpreter &interpreter);
36 
37     virtual
38     ~CommandObjectMultiwordBreakpoint ();
39 
40     static void
41     VerifyBreakpointOrLocationIDs (Args &args, Target *target, CommandReturnObject &result, BreakpointIDList *valid_ids)
42     {
43         VerifyIDs (args, target, true, result, valid_ids);
44     }
45 
46     static void
47     VerifyBreakpointIDs (Args &args, Target *target, CommandReturnObject &result, BreakpointIDList *valid_ids)
48     {
49         VerifyIDs (args, target, false, result, valid_ids);
50     }
51 
52 private:
53     static void
54     VerifyIDs (Args &args, Target *target, bool allow_locations, CommandReturnObject &result, BreakpointIDList *valid_ids);
55 };
56 
57 } // namespace lldb_private
58 
59 #endif  // liblldb_CommandObjectBreakpoint_h_
60