1//===-- CommandObjectBreakpoint.h -------------------------------*- C++ -*-===// 2// 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 6// 7//===----------------------------------------------------------------------===// 8 9#ifndef LLDB_SOURCE_COMMANDS_COMMANDOBJECTBREAKPOINT_H 10#define LLDB_SOURCE_COMMANDS_COMMANDOBJECTBREAKPOINT_H 11 12#include "lldb/Breakpoint/BreakpointName.h" 13#include "lldb/Interpreter/CommandObjectMultiword.h" 14 15namespace lldb_private { 16 17// CommandObjectMultiwordBreakpoint 18 19class CommandObjectMultiwordBreakpoint : public CommandObjectMultiword { 20public: 21 CommandObjectMultiwordBreakpoint(CommandInterpreter &interpreter); 22 23 ~CommandObjectMultiwordBreakpoint() override; 24 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); 30 } 31 32 static void 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); 37 } 38 39private: 40 static void VerifyIDs(Args &args, Target *target, bool allow_locations, 41 CommandReturnObject &result, 42 BreakpointIDList *valid_ids, 43 BreakpointName::Permissions::PermissionKinds purpose); 44}; 45 46} // namespace lldb_private 47 48#endif // LLDB_SOURCE_COMMANDS_COMMANDOBJECTBREAKPOINT_H 49