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