1 //===-- PlatformiOSSimulator.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_PlatformiOSSimulator_h_ 11 #define liblldb_PlatformiOSSimulator_h_ 12 13 // C Includes 14 // C++ Includes 15 // Other libraries and framework includes 16 // Project includes 17 #include "PlatformDarwin.h" 18 19 class PlatformiOSSimulator : 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 (); 37 38 static const char * 39 GetDescriptionStatic(); 40 41 //------------------------------------------------------------ 42 // Class Methods 43 //------------------------------------------------------------ 44 PlatformiOSSimulator (); 45 46 virtual 47 ~PlatformiOSSimulator(); 48 49 //------------------------------------------------------------ 50 // lldb_private::PluginInterface functions 51 //------------------------------------------------------------ 52 virtual lldb_private::ConstString GetPluginName()53 GetPluginName() 54 { 55 return GetPluginNameStatic(); 56 } 57 58 virtual uint32_t GetPluginVersion()59 GetPluginVersion() 60 { 61 return 1; 62 } 63 64 //------------------------------------------------------------ 65 // lldb_private::Platform functions 66 //------------------------------------------------------------ 67 virtual lldb_private::Error 68 ResolveExecutable (const lldb_private::FileSpec &exe_file, 69 const lldb_private::ArchSpec &arch, 70 lldb::ModuleSP &module_sp, 71 const lldb_private::FileSpecList *module_search_paths_ptr); 72 73 virtual const char * GetDescription()74 GetDescription () 75 { 76 return GetDescriptionStatic(); 77 } 78 79 virtual void 80 GetStatus (lldb_private::Stream &strm); 81 82 virtual lldb_private::Error 83 GetFile (const lldb_private::FileSpec &platform_file, 84 const lldb_private::UUID *uuid_ptr, 85 lldb_private::FileSpec &local_file); 86 87 virtual lldb_private::Error 88 GetSharedModule (const lldb_private::ModuleSpec &module_spec, 89 lldb::ModuleSP &module_sp, 90 const lldb_private::FileSpecList *module_search_paths_ptr, 91 lldb::ModuleSP *old_module_sp_ptr, 92 bool *did_create_ptr); 93 94 virtual uint32_t 95 FindProcesses (const lldb_private::ProcessInstanceInfoMatch &match_info, 96 lldb_private::ProcessInstanceInfoList &process_infos); 97 98 virtual bool 99 GetSupportedArchitectureAtIndex (uint32_t idx, 100 lldb_private::ArchSpec &arch); 101 102 protected: 103 std::string m_sdk_directory; 104 std::string m_build_update; 105 //std::vector<FileSpec> m_device_support_os_dirs; 106 107 const char * 108 GetSDKDirectory(); 109 110 private: 111 DISALLOW_COPY_AND_ASSIGN (PlatformiOSSimulator); 112 113 }; 114 115 #endif // liblldb_PlatformiOSSimulator_h_ 116