130fdc8d8SChris Lattner //===-- CommandObjectBreakpoint.h -------------------------------*- C++ -*-===//
230fdc8d8SChris Lattner //
32946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
42946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
52946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
630fdc8d8SChris Lattner //
730fdc8d8SChris Lattner //===----------------------------------------------------------------------===//
830fdc8d8SChris Lattner 
9*cdc514e4SJonas Devlieghere #ifndef LLDB_SOURCE_COMMANDS_COMMANDOBJECTBREAKPOINT_H
10*cdc514e4SJonas Devlieghere #define LLDB_SOURCE_COMMANDS_COMMANDOBJECTBREAKPOINT_H
1130fdc8d8SChris Lattner 
12b842f2ecSJim Ingham #include "lldb/Breakpoint/BreakpointName.h"
1330fdc8d8SChris Lattner #include "lldb/Interpreter/CommandObjectMultiword.h"
14b842f2ecSJim Ingham 
1530fdc8d8SChris Lattner namespace lldb_private {
1630fdc8d8SChris Lattner 
1730fdc8d8SChris Lattner // CommandObjectMultiwordBreakpoint
1830fdc8d8SChris Lattner 
19b9c1b51eSKate Stone class CommandObjectMultiwordBreakpoint : public CommandObjectMultiword {
2030fdc8d8SChris Lattner public:
216611103cSGreg Clayton   CommandObjectMultiwordBreakpoint(CommandInterpreter &interpreter);
2230fdc8d8SChris Lattner 
231fb7e202SPavel Labath   ~CommandObjectMultiwordBreakpoint() override;
2430fdc8d8SChris Lattner 
VerifyBreakpointOrLocationIDs(Args & args,Target * target,CommandReturnObject & result,BreakpointIDList * valid_ids,BreakpointName::Permissions::PermissionKinds purpose)25a925974bSAdrian Prantl   static void VerifyBreakpointOrLocationIDs(
26a925974bSAdrian Prantl       Args &args, Target *target, CommandReturnObject &result,
27b842f2ecSJim Ingham       BreakpointIDList *valid_ids,
28a925974bSAdrian Prantl       BreakpointName::Permissions ::PermissionKinds purpose) {
29b842f2ecSJim Ingham     VerifyIDs(args, target, true, result, valid_ids, purpose);
305e09c8c3SJim Ingham   }
3130fdc8d8SChris Lattner 
32a925974bSAdrian Prantl   static void
VerifyBreakpointIDs(Args & args,Target * target,CommandReturnObject & result,BreakpointIDList * valid_ids,BreakpointName::Permissions::PermissionKinds purpose)33a925974bSAdrian Prantl   VerifyBreakpointIDs(Args &args, Target *target, CommandReturnObject &result,
34b842f2ecSJim Ingham                       BreakpointIDList *valid_ids,
35a925974bSAdrian Prantl                       BreakpointName::Permissions::PermissionKinds purpose) {
36b842f2ecSJim Ingham     VerifyIDs(args, target, false, result, valid_ids, purpose);
375e09c8c3SJim Ingham   }
385e09c8c3SJim Ingham 
395e09c8c3SJim Ingham private:
40b9c1b51eSKate Stone   static void VerifyIDs(Args &args, Target *target, bool allow_locations,
41b9c1b51eSKate Stone                         CommandReturnObject &result,
42b842f2ecSJim Ingham                         BreakpointIDList *valid_ids,
43a925974bSAdrian Prantl                         BreakpointName::Permissions::PermissionKinds purpose);
4430fdc8d8SChris Lattner };
4530fdc8d8SChris Lattner 
4630fdc8d8SChris Lattner } // namespace lldb_private
4730fdc8d8SChris Lattner 
48*cdc514e4SJonas Devlieghere #endif // LLDB_SOURCE_COMMANDS_COMMANDOBJECTBREAKPOINT_H
49