1*b842f2ecSJim Ingham //===-- SBBreakpointOptionCommon.h ------------------------------------------*- C++ -*-===// 2*b842f2ecSJim Ingham // 3*b842f2ecSJim Ingham // The LLVM Compiler Infrastructure 4*b842f2ecSJim Ingham // 5*b842f2ecSJim Ingham // This file is distributed under the University of Illinois Open Source 6*b842f2ecSJim Ingham // License. See LICENSE.TXT for details. 7*b842f2ecSJim Ingham // 8*b842f2ecSJim Ingham //===----------------------------------------------------------------------===// 9*b842f2ecSJim Ingham 10*b842f2ecSJim Ingham #ifndef LLDB_SBBreakpointOptionCommons_h_ 11*b842f2ecSJim Ingham #define LLDB_SBBreakpointOptionCommons_h_ 12*b842f2ecSJim Ingham 13*b842f2ecSJim Ingham #include "lldb/API/SBDefines.h" 14*b842f2ecSJim Ingham #include "lldb/Utility/Baton.h" 15*b842f2ecSJim Ingham 16*b842f2ecSJim Ingham namespace lldb 17*b842f2ecSJim Ingham { 18*b842f2ecSJim Ingham struct CallbackData { 19*b842f2ecSJim Ingham SBBreakpointHitCallback callback; 20*b842f2ecSJim Ingham void *callback_baton; 21*b842f2ecSJim Ingham }; 22*b842f2ecSJim Ingham 23*b842f2ecSJim Ingham class SBBreakpointCallbackBaton : public lldb_private::TypedBaton<CallbackData> { 24*b842f2ecSJim Ingham public: 25*b842f2ecSJim Ingham SBBreakpointCallbackBaton(SBBreakpointHitCallback callback, 26*b842f2ecSJim Ingham void *baton); 27*b842f2ecSJim Ingham 28*b842f2ecSJim Ingham static bool PrivateBreakpointHitCallback(void *baton, 29*b842f2ecSJim Ingham lldb_private::StoppointCallbackContext *ctx, 30*b842f2ecSJim Ingham lldb::user_id_t break_id, 31*b842f2ecSJim Ingham lldb::user_id_t break_loc_id); 32*b842f2ecSJim Ingham }; 33*b842f2ecSJim Ingham 34*b842f2ecSJim Ingham } // namespace lldb 35*b842f2ecSJim Ingham #endif // LLDB_SBBreakpointOptionCommons_h_ 36