1 //===-- PlatformRemoteAppleBridge.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_PlatformRemoteAppleBridge_h_ 11 #define liblldb_PlatformRemoteAppleBridge_h_ 12 13 // C Includes 14 // C++ Includes 15 #include <string> 16 17 // Other libraries and framework includes 18 // Project includes 19 #include "lldb/Utility/FileSpec.h" 20 21 #include "llvm/Support/FileSystem.h" 22 23 #include "PlatformRemoteDarwinDevice.h" 24 25 class PlatformRemoteAppleBridge : public PlatformRemoteDarwinDevice { 26 public: 27 PlatformRemoteAppleBridge(); 28 29 ~PlatformRemoteAppleBridge() override = default; 30 31 //------------------------------------------------------------ 32 // Class Functions 33 //------------------------------------------------------------ 34 static lldb::PlatformSP CreateInstance(bool force, 35 const lldb_private::ArchSpec *arch); 36 37 static void Initialize(); 38 39 static void Terminate(); 40 41 static lldb_private::ConstString GetPluginNameStatic(); 42 43 static const char *GetDescriptionStatic(); 44 45 //------------------------------------------------------------ 46 // lldb_private::PluginInterface functions 47 //------------------------------------------------------------ 48 lldb_private::ConstString GetPluginName() override { 49 return GetPluginNameStatic(); 50 } 51 52 uint32_t GetPluginVersion() override { return 1; } 53 54 //------------------------------------------------------------ 55 // lldb_private::Platform functions 56 //------------------------------------------------------------ 57 58 const char *GetDescription() override { return GetDescriptionStatic(); } 59 60 bool GetSupportedArchitectureAtIndex(uint32_t idx, 61 lldb_private::ArchSpec &arch) override; 62 63 protected: 64 65 //------------------------------------------------------------ 66 // lldb_private::PlatformRemoteDarwinDevice functions 67 //------------------------------------------------------------ 68 69 void GetDeviceSupportDirectoryNames (std::vector<std::string> &dirnames) override; 70 71 std::string GetPlatformName () override; 72 73 private: 74 DISALLOW_COPY_AND_ASSIGN(PlatformRemoteAppleBridge); 75 }; 76 77 #endif // liblldb_PlatformRemoteAppleBridge_h_ 78