1 //===-- CommandObjectBreakpoint.h -------------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 #ifndef LLDB_SOURCE_COMMANDS_COMMANDOBJECTBREAKPOINT_H
10 #define LLDB_SOURCE_COMMANDS_COMMANDOBJECTBREAKPOINT_H
12 #include "lldb/Breakpoint/BreakpointName.h"
13 #include "lldb/Interpreter/CommandObjectMultiword.h"
15 namespace lldb_private {
17 // CommandObjectMultiwordBreakpoint
19 class CommandObjectMultiwordBreakpoint : public CommandObjectMultiword {
21 CommandObjectMultiwordBreakpoint(CommandInterpreter &interpreter);
23 ~CommandObjectMultiwordBreakpoint() override;
25 static void VerifyBreakpointOrLocationIDs(
26 Args &args, Target *target, CommandReturnObject &result,
27 BreakpointIDList *valid_ids,
28 BreakpointName::Permissions ::PermissionKinds purpose) {
29 VerifyIDs(args, target, true, result, valid_ids, purpose);
33 VerifyBreakpointIDs(Args &args, Target *target, CommandReturnObject &result,
34 BreakpointIDList *valid_ids,
35 BreakpointName::Permissions::PermissionKinds purpose) {
36 VerifyIDs(args, target, false, result, valid_ids, purpose);
40 static void VerifyIDs(Args &args, Target *target, bool allow_locations,
41 CommandReturnObject &result,
42 BreakpointIDList *valid_ids,
43 BreakpointName::Permissions::PermissionKinds purpose);
46 } // namespace lldb_private
48 #endif // LLDB_SOURCE_COMMANDS_COMMANDOBJECTBREAKPOINT_H