1 //===-- PlatformMacOSX.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_PlatformMacOSX_h_ 11 #define liblldb_PlatformMacOSX_h_ 12 13 // C Includes 14 // C++ Includes 15 // Other libraries and framework includes 16 // Project includes 17 #include "PlatformDarwin.h" 18 19 class PlatformMacOSX : public PlatformDarwin 20 { 21 public: 22 23 //------------------------------------------------------------ 24 // Class functions 25 //------------------------------------------------------------ 26 static lldb_private::Platform* 27 CreateInstance (bool force, const lldb_private::ArchSpec *arch); 28 29 static void 30 Initialize (); 31 32 static void 33 Terminate (); 34 35 static lldb_private::ConstString 36 GetPluginNameStatic (bool is_host); 37 38 static const char * 39 GetDescriptionStatic(bool is_host); 40 41 //------------------------------------------------------------ 42 // Class Methods 43 //------------------------------------------------------------ 44 PlatformMacOSX (bool is_host); 45 46 virtual 47 ~PlatformMacOSX(); 48 49 //------------------------------------------------------------ 50 // lldb_private::PluginInterface functions 51 //------------------------------------------------------------ 52 virtual lldb_private::ConstString GetPluginName()53 GetPluginName() 54 { 55 return GetPluginNameStatic (IsHost()); 56 } 57 58 virtual uint32_t GetPluginVersion()59 GetPluginVersion() 60 { 61 return 1; 62 } 63 64 virtual const char * GetDescription()65 GetDescription () 66 { 67 return GetDescriptionStatic (IsHost()); 68 } 69 70 virtual lldb_private::Error 71 GetFile (const lldb_private::FileSpec &platform_file, 72 const lldb_private::UUID *uuid_ptr, 73 lldb_private::FileSpec &local_file); 74 75 virtual bool 76 GetSupportedArchitectureAtIndex (uint32_t idx, 77 lldb_private::ArchSpec &arch); 78 79 private: 80 DISALLOW_COPY_AND_ASSIGN (PlatformMacOSX); 81 82 }; 83 84 #endif // liblldb_PlatformMacOSX_h_ 85