1b842f2ecSJim Ingham //===-- SBBreakpointOptionCommon.h ------------------------------------------*- C++ -*-===// 2b842f2ecSJim Ingham // 3*2946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*2946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 5*2946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6b842f2ecSJim Ingham // 7b842f2ecSJim Ingham //===----------------------------------------------------------------------===// 8b842f2ecSJim Ingham 9b842f2ecSJim Ingham #ifndef LLDB_SBBreakpointOptionCommons_h_ 10b842f2ecSJim Ingham #define LLDB_SBBreakpointOptionCommons_h_ 11b842f2ecSJim Ingham 12b842f2ecSJim Ingham #include "lldb/API/SBDefines.h" 13b842f2ecSJim Ingham #include "lldb/Utility/Baton.h" 14b842f2ecSJim Ingham 15b842f2ecSJim Ingham namespace lldb 16b842f2ecSJim Ingham { 17b842f2ecSJim Ingham struct CallbackData { 18b842f2ecSJim Ingham SBBreakpointHitCallback callback; 19b842f2ecSJim Ingham void *callback_baton; 20b842f2ecSJim Ingham }; 21b842f2ecSJim Ingham 22b842f2ecSJim Ingham class SBBreakpointCallbackBaton : public lldb_private::TypedBaton<CallbackData> { 23b842f2ecSJim Ingham public: 24b842f2ecSJim Ingham SBBreakpointCallbackBaton(SBBreakpointHitCallback callback, 25b842f2ecSJim Ingham void *baton); 26b842f2ecSJim Ingham 27e2564051SDavide Italiano ~SBBreakpointCallbackBaton(); 28e2564051SDavide Italiano 29b842f2ecSJim Ingham static bool PrivateBreakpointHitCallback(void *baton, 30b842f2ecSJim Ingham lldb_private::StoppointCallbackContext *ctx, 31b842f2ecSJim Ingham lldb::user_id_t break_id, 32b842f2ecSJim Ingham lldb::user_id_t break_loc_id); 33b842f2ecSJim Ingham }; 34b842f2ecSJim Ingham 35b842f2ecSJim Ingham } // namespace lldb 36b842f2ecSJim Ingham #endif // LLDB_SBBreakpointOptionCommons_h_ 37