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