xref: /freebsd/contrib/llvm-project/lldb/include/lldb/Target/PostMortemProcess.h (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
1 //===-- PostMortemProcess.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_TARGET_POSTMORTEMPROCESS_H
10 #define LLDB_TARGET_POSTMORTEMPROCESS_H
11 
12 #include "lldb/Target/Process.h"
13 
14 namespace lldb_private {
15 
16 /// \class PostMortemProcess
17 /// Base class for all processes that don't represent a live process, such as
18 /// coredumps or processes traced in the past.
19 ///
20 /// \a lldb_private::Process virtual functions overrides that are common
21 /// between these kinds of processes can have default implementations in this
22 /// class.
23 class PostMortemProcess : public Process {
24   using Process::Process;
25 
26 public:
PostMortemProcess(lldb::TargetSP target_sp,lldb::ListenerSP listener_sp,const FileSpec & core_file)27   PostMortemProcess(lldb::TargetSP target_sp, lldb::ListenerSP listener_sp,
28                     const FileSpec &core_file)
29       : Process(target_sp, listener_sp), m_core_file(core_file) {}
30 
IsLiveDebugSession()31   bool IsLiveDebugSession() const override { return false; }
32 
GetCoreFile()33   FileSpec GetCoreFile() const override { return m_core_file; }
34 
35 protected:
36   FileSpec m_core_file;
37 };
38 
39 } // namespace lldb_private
40 
41 #endif // LLDB_TARGET_POSTMORTEMPROCESS_H
42