1 //===-- ThreadPlanShouldStopHere.cpp ----------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #include "lldb/Target/Thread.h"
11 #include "lldb/Target/ThreadPlanShouldStopHere.h"
12 
13 using namespace lldb;
14 using namespace lldb_private;
15 
16 // C Includes
17 // C++ Includes
18 // Other libraries and framework includes
19 // Project includes
20 
21 //----------------------------------------------------------------------
22 // ThreadPlanShouldStopHere constructor
23 //----------------------------------------------------------------------
24 ThreadPlanShouldStopHere::ThreadPlanShouldStopHere(ThreadPlan *owner, ThreadPlanShouldStopHereCallback callback, void *baton) :
25     m_callback (callback),
26     m_baton (baton),
27     m_owner (owner),
28     m_flags (ThreadPlanShouldStopHere::eNone)
29 {
30 }
31 
32 //----------------------------------------------------------------------
33 // Destructor
34 //----------------------------------------------------------------------
35 ThreadPlanShouldStopHere::~ThreadPlanShouldStopHere()
36 {
37 }
38 
39 void
40 ThreadPlanShouldStopHere::SetShouldStopHereCallback (ThreadPlanShouldStopHereCallback callback, void *baton)
41 {
42     m_callback = callback;
43     m_baton = baton;
44 }
45 
46 ThreadPlan *
47 ThreadPlanShouldStopHere::InvokeShouldStopHereCallback ()
48 {
49     if (m_callback)
50         return m_callback (m_owner, m_flags, m_baton);
51     else
52         return NULL;
53 }
54