diff options
author | Greg Clayton <gclayton@apple.com> | 2012-02-25 06:56:35 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2012-02-25 06:56:35 +0000 |
commit | 722cec2957b44766879b936c0b2dfb9d2f1a5e4f (patch) | |
tree | 1b5cfb8ee61f03a39a0a6d451f0e3ac1ee9edd32 /lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h | |
parent | a4d6bc9ff85fc4eb979765f3ea8bd53fa4f3496a (diff) | |
download | bcm5719-llvm-722cec2957b44766879b936c0b2dfb9d2f1a5e4f.tar.gz bcm5719-llvm-722cec2957b44766879b936c0b2dfb9d2f1a5e4f.zip |
<rdar://problem/9886712>
Added a dedicated platform for the iOS simulator. This helps us to find the
correct files for a simulator binary before running and helps us select the
right arch (i386 only) for files when we load them.
llvm-svn: 151436
Diffstat (limited to 'lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h')
-rw-r--r-- | lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h b/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h new file mode 100644 index 00000000000..9842bf673d9 --- /dev/null +++ b/lldb/source/Plugins/Platform/MacOSX/PlatformiOSSimulator.h @@ -0,0 +1,132 @@ +//===-- PlatformiOSSimulator.h ----------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef liblldb_PlatformiOSSimulator_h_ +#define liblldb_PlatformiOSSimulator_h_ + +// C Includes +// C++ Includes +// Other libraries and framework includes +// Project includes +#include "PlatformDarwin.h" + +class PlatformiOSSimulator : public PlatformDarwin +{ +public: + + //------------------------------------------------------------ + // Class Functions + //------------------------------------------------------------ + static lldb_private::Platform* + CreateInstance (); + + static void + Initialize (); + + static void + Terminate (); + + static const char * + GetPluginNameStatic (); + + static const char * + GetShortPluginNameStatic(); + + static const char * + GetDescriptionStatic(); + + //------------------------------------------------------------ + // Class Methods + //------------------------------------------------------------ + PlatformiOSSimulator (); + + virtual + ~PlatformiOSSimulator(); + + //------------------------------------------------------------ + // lldb_private::PluginInterface functions + //------------------------------------------------------------ + virtual const char * + GetPluginName() + { + return GetPluginNameStatic(); + } + + virtual const char * + GetShortPluginName() + { + return GetShortPluginNameStatic(); + } + + virtual uint32_t + GetPluginVersion() + { + return 1; + } + + //------------------------------------------------------------ + // lldb_private::Platform functions + //------------------------------------------------------------ + virtual lldb_private::Error + ResolveExecutable (const lldb_private::FileSpec &exe_file, + const lldb_private::ArchSpec &arch, + lldb::ModuleSP &module_sp, + const lldb_private::FileSpecList *module_search_paths_ptr); + + virtual const char * + GetDescription () + { + return GetDescriptionStatic(); + } + + virtual void + GetStatus (lldb_private::Stream &strm); + + virtual lldb_private::Error + GetFile (const lldb_private::FileSpec &platform_file, + const lldb_private::UUID *uuid_ptr, + lldb_private::FileSpec &local_file); + + virtual lldb_private::Error + GetSharedModule (const lldb_private::FileSpec &platform_file, + const lldb_private::ArchSpec &arch, + const lldb_private::UUID *uuid_ptr, + const lldb_private::ConstString *object_name_ptr, + off_t object_offset, + lldb::ModuleSP &module_sp, + const lldb_private::FileSpecList *module_search_paths_ptr, + lldb::ModuleSP *old_module_sp_ptr, + bool *did_create_ptr); + + virtual uint32_t + FindProcesses (const lldb_private::ProcessInstanceInfoMatch &match_info, + lldb_private::ProcessInstanceInfoList &process_infos); + + virtual bool + GetProcessInfo (lldb::pid_t pid, + lldb_private::ProcessInstanceInfo &proc_info); + + virtual bool + GetSupportedArchitectureAtIndex (uint32_t idx, + lldb_private::ArchSpec &arch); + +protected: + std::string m_sdk_directory; + std::string m_build_update; + //std::vector<FileSpec> m_device_support_os_dirs; + + const char * + GetSDKDirectory(); + +private: + DISALLOW_COPY_AND_ASSIGN (PlatformiOSSimulator); + +}; + +#endif // liblldb_PlatformiOSSimulator_h_ |