1*061da546Spatrick //===-- ForwardDecl.h -------------------------------------------*- C++ -*-===// 2*061da546Spatrick // 3*061da546Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*061da546Spatrick // See https://llvm.org/LICENSE.txt for license information. 5*061da546Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*061da546Spatrick // 7*061da546Spatrick //===----------------------------------------------------------------------===// 8*061da546Spatrick 9*061da546Spatrick #ifndef liblldb_Plugins_Process_Windows_ForwardDecl_H_ 10*061da546Spatrick #define liblldb_Plugins_Process_Windows_ForwardDecl_H_ 11*061da546Spatrick 12*061da546Spatrick #include <memory> 13*061da546Spatrick 14*061da546Spatrick // ExceptionResult is returned by the debug delegate to specify how it processed 15*061da546Spatrick // the exception. 16*061da546Spatrick enum class ExceptionResult { 17*061da546Spatrick BreakInDebugger, // Break in the debugger and give the user a chance to 18*061da546Spatrick // interact with 19*061da546Spatrick // the program before continuing. 20*061da546Spatrick MaskException, // Eat the exception and don't let the application know it 21*061da546Spatrick // occurred. 22*061da546Spatrick SendToApplication // Send the exception to the application to be handled as if 23*061da546Spatrick // there were 24*061da546Spatrick // no debugger attached. 25*061da546Spatrick }; 26*061da546Spatrick 27*061da546Spatrick namespace lldb_private { 28*061da546Spatrick 29*061da546Spatrick class ProcessWindows; 30*061da546Spatrick 31*061da546Spatrick class IDebugDelegate; 32*061da546Spatrick class DebuggerThread; 33*061da546Spatrick class ExceptionRecord; 34*061da546Spatrick 35*061da546Spatrick typedef std::shared_ptr<IDebugDelegate> DebugDelegateSP; 36*061da546Spatrick typedef std::shared_ptr<DebuggerThread> DebuggerThreadSP; 37*061da546Spatrick typedef std::shared_ptr<ExceptionRecord> ExceptionRecordSP; 38*061da546Spatrick typedef std::unique_ptr<ExceptionRecord> ExceptionRecordUP; 39*061da546Spatrick } 40*061da546Spatrick 41*061da546Spatrick #endif 42