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 24 class ProcessMonitor; 25 26 class ProcessFreeBSD : 27 public ProcessPOSIX 28 { 29 30 public: 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