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