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