PlatformRemoteiOS.h revision b344843f75ef893762c93fd0a22d2d45712ce74d
1//===-- PlatformRemoteiOS.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_PlatformRemoteiOS_h_ 11#define liblldb_PlatformRemoteiOS_h_ 12 13// C Includes 14// C++ Includes 15// Other libraries and framework includes 16// Project includes 17#include "PlatformDarwin.h" 18 19namespace lldb_private { 20 21 class PlatformRemoteiOS : public PlatformDarwin 22 { 23 public: 24 25 //------------------------------------------------------------ 26 // Class Functions 27 //------------------------------------------------------------ 28 static Platform* 29 CreateInstance (); 30 31 static void 32 Initialize (); 33 34 static void 35 Terminate (); 36 37 static const char * 38 GetPluginNameStatic (); 39 40 static const char * 41 GetShortPluginNameStatic(); 42 43 static const char * 44 GetDescriptionStatic(); 45 46 //------------------------------------------------------------ 47 // Class Methods 48 //------------------------------------------------------------ 49 PlatformRemoteiOS (); 50 51 virtual 52 ~PlatformRemoteiOS(); 53 54 //------------------------------------------------------------ 55 // lldb_private::PluginInterface functions 56 //------------------------------------------------------------ 57 virtual const char * 58 GetPluginName() 59 { 60 return GetPluginNameStatic(); 61 } 62 63 virtual const char * 64 GetShortPluginName() 65 { 66 return GetShortPluginNameStatic(); 67 } 68 69 virtual uint32_t 70 GetPluginVersion() 71 { 72 return 1; 73 } 74 75 //------------------------------------------------------------ 76 // lldb_private::Platform functions 77 //------------------------------------------------------------ 78 virtual Error 79 ResolveExecutable (const FileSpec &exe_file, 80 const ArchSpec &arch, 81 lldb::ModuleSP &module_sp); 82 83 virtual const char * 84 GetDescription () 85 { 86 return GetDescriptionStatic(); 87 } 88 89 virtual void 90 GetStatus (Stream &strm); 91 92 virtual Error 93 GetFile (const FileSpec &platform_file, 94 const UUID *uuid_ptr, 95 FileSpec &local_file); 96 97 virtual uint32_t 98 FindProcessesByName (const char *name_match, 99 NameMatchType name_match_type, 100 ProcessInfoList &process_infos); 101 102 virtual bool 103 GetProcessInfo (lldb::pid_t pid, ProcessInfo &proc_info); 104 105 virtual bool 106 GetSupportedArchitectureAtIndex (uint32_t idx, ArchSpec &arch); 107 108 protected: 109 std::string m_device_support_directory; 110 std::string m_device_support_directory_for_os_version; 111 std::string m_build_update; 112 //std::vector<FileSpec> m_device_support_os_dirs; 113 114 const char * 115 GetDeviceSupportDirectory(); 116 117 const char * 118 GetDeviceSupportDirectoryForOSVersion(); 119 120 private: 121 DISALLOW_COPY_AND_ASSIGN (PlatformRemoteiOS); 122 123 }; 124} // namespace lldb_private 125 126#endif // liblldb_PlatformRemoteiOS_h_ 127