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