1//===-- ProcessFreeBSD.h ------------------------------------------*- 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#ifndef liblldb_ProcessFreeBSD_H_ 11#define liblldb_ProcessFreeBSD_H_ 12 13// C Includes 14 15// C++ Includes 16#include <queue> 17 18// Other libraries and framework includes 19#include "lldb/Target/Process.h" 20#include "lldb/Target/ThreadList.h" 21#include "ProcessMessage.h" 22#include "ProcessPOSIX.h" 23 24class ProcessMonitor; 25 26class ProcessFreeBSD : 27 public ProcessPOSIX 28{ 29 30public: 31 //------------------------------------------------------------------ 32 // Static functions. 33 //------------------------------------------------------------------ 34 static lldb::ProcessSP 35 CreateInstance(lldb_private::Target& target, 36 lldb_private::Listener &listener, 37 const lldb_private::FileSpec *crash_file_path); 38 39 static void 40 Initialize(); 41 42 static void 43 Terminate(); 44 45 static lldb_private::ConstString 46 GetPluginNameStatic(); 47 48 static const char * 49 GetPluginDescriptionStatic(); 50 51 //------------------------------------------------------------------ 52 // Constructors and destructors 53 //------------------------------------------------------------------ 54 ProcessFreeBSD(lldb_private::Target& target, 55 lldb_private::Listener &listener); 56 57 virtual bool 58 UpdateThreadList(lldb_private::ThreadList &old_thread_list, lldb_private::ThreadList &new_thread_list); 59 60 //------------------------------------------------------------------ 61 // PluginInterface protocol 62 //------------------------------------------------------------------ 63 virtual lldb_private::ConstString 64 GetPluginName(); 65 66 virtual uint32_t 67 GetPluginVersion(); 68 69 virtual void 70 GetPluginCommandHelp(const char *command, lldb_private::Stream *strm); 71 72 virtual lldb_private::Error 73 ExecutePluginCommand(lldb_private::Args &command, 74 lldb_private::Stream *strm); 75 76 virtual lldb_private::Log * 77 EnablePluginLogging(lldb_private::Stream *strm, 78 lldb_private::Args &command); 79 80}; 81 82#endif // liblldb_MacOSXProcess_H_ 83