more of the local path, platform path, associated symbol file, UUID, arch, object name and object offset. This allows many of the calls that were GetSharedModule to reduce the number of arguments that were used in a call to these functions. It also allows a module to be created with a ModuleSpec which allows many things to be specified prior to any accessors being called on the Module class itself. I was running into problems when adding support for "target symbol add" where you can specify a stand alone debug info file after debugging has started where I needed to specify the associated symbol file path and if I waited until after construction, the wrong symbol file had already been located. By using the ModuleSpec it allows us to construct a module with as little or as much information as needed and not have to change the parameter list. llvm-svn: 151476
129 lines
3.6 KiB
C++
129 lines
3.6 KiB
C++
//===-- PlatformRemoteiOS.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_PlatformRemoteiOS_h_
|
|
#define liblldb_PlatformRemoteiOS_h_
|
|
|
|
// C Includes
|
|
// C++ Includes
|
|
// Other libraries and framework includes
|
|
// Project includes
|
|
#include "PlatformDarwin.h"
|
|
|
|
class PlatformRemoteiOS : 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
|
|
//------------------------------------------------------------
|
|
PlatformRemoteiOS ();
|
|
|
|
virtual
|
|
~PlatformRemoteiOS();
|
|
|
|
//------------------------------------------------------------
|
|
// 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::ModuleSpec &module_spec,
|
|
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_device_support_directory_for_os_version;
|
|
std::string m_build_update;
|
|
//std::vector<FileSpec> m_device_support_os_dirs;
|
|
|
|
const char *
|
|
GetDeviceSupportDirectoryForOSVersion();
|
|
|
|
private:
|
|
DISALLOW_COPY_AND_ASSIGN (PlatformRemoteiOS);
|
|
|
|
};
|
|
|
|
#endif // liblldb_PlatformRemoteiOS_h_
|