64 lines
2.4 KiB
C
64 lines
2.4 KiB
C
|
//===-- StoppointCallbackContext.h ------------------------------*- C++ -*-===//
|
||
|
//
|
||
|
// The LLVM Compiler Infrastructure
|
||
|
//
|
||
|
// This file is distributed under the University of Illinois Open Source
|
||
|
// License. See LICENSE.TXT for details.
|
||
|
//
|
||
|
//===----------------------------------------------------------------------===//
|
||
|
|
||
|
#ifndef liblldb_StoppointCallbackContext_h_
|
||
|
#define liblldb_StoppointCallbackContext_h_
|
||
|
|
||
|
#include "lldb/Target/ExecutionContext.h"
|
||
|
#include "lldb/lldb-private.h"
|
||
|
|
||
|
namespace lldb_private {
|
||
|
|
||
|
//----------------------------------------------------------------------
|
||
|
/// @class StoppointCallbackContext StoppointCallbackContext.h
|
||
|
/// "lldb/Breakpoint/StoppointCallbackContext.h"
|
||
|
/// @brief Class holds the information that a breakpoint callback needs to
|
||
|
/// evaluate this stop.
|
||
|
//----------------------------------------------------------------------
|
||
|
|
||
|
//----------------------------------------------------------------------
|
||
|
/// General Outline:
|
||
|
/// When we hit a breakpoint we need to package up whatever information is
|
||
|
/// needed
|
||
|
/// to evaluate breakpoint commands and conditions. This class is the container
|
||
|
/// of
|
||
|
/// that information.
|
||
|
//----------------------------------------------------------------------
|
||
|
|
||
|
class StoppointCallbackContext {
|
||
|
public:
|
||
|
StoppointCallbackContext();
|
||
|
|
||
|
StoppointCallbackContext(Event *event, const ExecutionContext &exe_ctx,
|
||
|
bool synchronously = false);
|
||
|
|
||
|
//------------------------------------------------------------------
|
||
|
/// Clear the object's state.
|
||
|
///
|
||
|
/// Sets the event, process and thread to NULL, and the frame index to an
|
||
|
/// invalid value.
|
||
|
//------------------------------------------------------------------
|
||
|
void Clear();
|
||
|
|
||
|
//------------------------------------------------------------------
|
||
|
// Member variables
|
||
|
//------------------------------------------------------------------
|
||
|
Event *event; // This is the event, the callback can modify this to indicate
|
||
|
// the meaning of the breakpoint hit
|
||
|
ExecutionContextRef
|
||
|
exe_ctx_ref; // This tells us where we have stopped, what thread.
|
||
|
bool is_synchronous; // Is the callback being executed synchronously with the
|
||
|
// breakpoint,
|
||
|
// or asynchronously as the event is retrieved?
|
||
|
};
|
||
|
|
||
|
} // namespace lldb_private
|
||
|
|
||
|
#endif // liblldb_StoppointCallbackContext_h_
|