1//===-- SBBreakpointOptionCommon.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_API_SBBREAKPOINTOPTIONCOMMON_H
10#define LLDB_SOURCE_API_SBBREAKPOINTOPTIONCOMMON_H
11
12#include "lldb/API/SBDefines.h"
13#include "lldb/Utility/Baton.h"
14
15namespace lldb
16{
17struct CallbackData {
18  SBBreakpointHitCallback callback;
19  void *callback_baton;
20};
21
22class SBBreakpointCallbackBaton : public lldb_private::TypedBaton<CallbackData> {
23public:
24  SBBreakpointCallbackBaton(SBBreakpointHitCallback callback,
25                            void *baton);
26
27  ~SBBreakpointCallbackBaton() override;
28
29  static bool PrivateBreakpointHitCallback(void *baton,
30                                           lldb_private::StoppointCallbackContext *ctx,
31                                           lldb::user_id_t break_id,
32                                           lldb::user_id_t break_loc_id);
33};
34
35} // namespace lldb
36#endif // LLDB_SOURCE_API_SBBREAKPOINTOPTIONCOMMON_H
37