LLDB mainline
lldb::SBLaunchInfo Class Reference

#include <SBLaunchInfo.h>

Public Member Functions

 SBLaunchInfo (const char **argv)
 ~SBLaunchInfo ()
 SBLaunchInfo (const SBLaunchInfo &rhs)
SBLaunchInfooperator= (const SBLaunchInfo &rhs)
lldb::pid_t GetProcessID ()
uint32_t GetUserID ()
uint32_t GetGroupID ()
bool UserIDIsValid ()
bool GroupIDIsValid ()
void SetUserID (uint32_t uid)
void SetGroupID (uint32_t gid)
SBFileSpec GetExecutableFile ()
void SetExecutableFile (SBFileSpec exe_file, bool add_as_first_arg)
 Set the executable file that will be used to launch the process and optionally set it as the first argument in the argument vector.
SBListener GetListener ()
 Get the listener that will be used to receive process events.
void SetListener (SBListener &listener)
 Set the listener that will be used to receive process events.
SBListener GetShadowListener ()
 Get the shadow listener that receive public process events, additionally to the default process event listener.
void SetShadowListener (SBListener &listener)
 Set the shadow listener that will receive public process events, additionally to the default process event listener.
uint32_t GetNumArguments ()
const char * GetArgumentAtIndex (uint32_t idx)
void SetArguments (const char **argv, bool append)
uint32_t GetNumEnvironmentEntries ()
const char * GetEnvironmentEntryAtIndex (uint32_t idx)
void SetEnvironmentEntries (const char **envp, bool append)
 Update this object with the given environment variables.
void SetEnvironment (const SBEnvironment &env, bool append)
 Update this object with the given environment variables.
SBEnvironment GetEnvironment ()
 Return the environment variables of this object.
void Clear ()
const char * GetWorkingDirectory () const
void SetWorkingDirectory (const char *working_dir)
uint32_t GetLaunchFlags ()
void SetLaunchFlags (uint32_t flags)
const char * GetProcessPluginName ()
void SetProcessPluginName (const char *plugin_name)
const char * GetShell ()
void SetShell (const char *path)
bool GetShellExpandArguments ()
void SetShellExpandArguments (bool expand)
uint32_t GetResumeCount ()
void SetResumeCount (uint32_t c)
bool AddCloseFileAction (int fd)
bool AddDuplicateFileAction (int fd, int dup_fd)
bool AddOpenFileAction (int fd, const char *path, bool read, bool write)
bool AddSuppressFileAction (int fd, bool read, bool write)
void SetLaunchEventData (const char *data)
const char * GetLaunchEventData () const
bool GetDetachOnError () const
void SetDetachOnError (bool enable)
const char * GetScriptedProcessClassName () const
void SetScriptedProcessClassName (const char *class_name)
lldb::SBStructuredData GetScriptedProcessDictionary () const
void SetScriptedProcessDictionary (lldb::SBStructuredData dict)

Protected Member Functions

const lldb_private::ProcessLaunchInforef () const
void set_ref (const lldb_private::ProcessLaunchInfo &info)

Protected Attributes

std::shared_ptr< lldb_private::SBLaunchInfoImplm_opaque_sp

Friends

class SBPlatform
class SBTarget
class lldb_private::ScriptInterpreterBridge

Detailed Description

Definition at line 24 of file SBLaunchInfo.h.

Constructor & Destructor Documentation

◆ SBLaunchInfo() [1/2]

SBLaunchInfo::SBLaunchInfo ( const char ** argv)

Definition at line 44 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by operator=(), SBLaunchInfo(), and ~SBLaunchInfo().

◆ ~SBLaunchInfo()

◆ SBLaunchInfo() [2/2]

SBLaunchInfo::SBLaunchInfo ( const SBLaunchInfo & rhs)

Definition at line 53 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_sp, and SBLaunchInfo().

Member Function Documentation

◆ AddCloseFileAction()

bool SBLaunchInfo::AddCloseFileAction ( int fd)

Definition at line 287 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ AddDuplicateFileAction()

bool SBLaunchInfo::AddDuplicateFileAction ( int fd,
int dup_fd )

Definition at line 293 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ AddOpenFileAction()

bool SBLaunchInfo::AddOpenFileAction ( int fd,
const char * path,
bool read,
bool write )

Definition at line 299 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ AddSuppressFileAction()

bool SBLaunchInfo::AddSuppressFileAction ( int fd,
bool read,
bool write )

Definition at line 306 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ Clear()

void SBLaunchInfo::Clear ( )

Definition at line 205 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GetArgumentAtIndex()

const char * SBLaunchInfo::GetArgumentAtIndex ( uint32_t idx)

Definition at line 149 of file SBLaunchInfo.cpp.

References lldb_private::ConstString::GetCString(), LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GetDetachOnError()

bool SBLaunchInfo::GetDetachOnError ( ) const

Definition at line 330 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GetEnvironment()

SBEnvironment SBLaunchInfo::GetEnvironment ( )

Return the environment variables of this object.

Returns
An lldb::SBEnvironment object which is a copy of the SBLaunchInfo's environment.

Definition at line 200 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_sp, and lldb::SBEnvironment.

Referenced by ~SBLaunchInfo().

◆ GetEnvironmentEntryAtIndex()

const char * SBLaunchInfo::GetEnvironmentEntryAtIndex ( uint32_t idx)

◆ GetExecutableFile()

SBFileSpec SBLaunchInfo::GetExecutableFile ( )

Definition at line 118 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_sp, and lldb::SBFileSpec.

Referenced by ~SBLaunchInfo().

◆ GetGroupID()

uint32_t SBLaunchInfo::GetGroupID ( )

Definition at line 88 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GetLaunchEventData()

const char * SBLaunchInfo::GetLaunchEventData ( ) const

Definition at line 318 of file SBLaunchInfo.cpp.

References lldb_private::ConstString::GetCString(), LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GetLaunchFlags()

uint32_t SBLaunchInfo::GetLaunchFlags ( )

Definition at line 224 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GetListener()

SBListener SBLaunchInfo::GetListener ( )

Get the listener that will be used to receive process events.

If no listener has been set via a call to SBLaunchInfo::SetListener(), then an invalid SBListener will be returned (SBListener::IsValid() will return false). If a listener has been set, then the valid listener object will be returned.

Definition at line 131 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_sp, and lldb::SBListener.

Referenced by ~SBLaunchInfo().

◆ GetNumArguments()

uint32_t SBLaunchInfo::GetNumArguments ( )

Definition at line 143 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GetNumEnvironmentEntries()

uint32_t SBLaunchInfo::GetNumEnvironmentEntries ( )

Definition at line 170 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by GetEnvironmentEntryAtIndex(), and ~SBLaunchInfo().

◆ GetProcessID()

lldb::pid_t SBLaunchInfo::GetProcessID ( )

Definition at line 76 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GetProcessPluginName()

const char * SBLaunchInfo::GetProcessPluginName ( )

Definition at line 236 of file SBLaunchInfo.cpp.

References lldb_private::ConstString::GetCString(), LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GetResumeCount()

uint32_t SBLaunchInfo::GetResumeCount ( )

Definition at line 275 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GetScriptedProcessClassName()

const char * SBLaunchInfo::GetScriptedProcessClassName ( ) const

Definition at line 336 of file SBLaunchInfo.cpp.

References lldb_private::ConstString::AsCString(), LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GetScriptedProcessDictionary()

lldb::SBStructuredData SBLaunchInfo::GetScriptedProcessDictionary ( ) const

Definition at line 359 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, lldb::SBStructuredData::m_impl_up, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GetShadowListener()

SBListener SBLaunchInfo::GetShadowListener ( )

Get the shadow listener that receive public process events, additionally to the default process event listener.

If no listener has been set via a call to SBLaunchInfo::SetShadowListener(), then an invalid SBListener will be returned (SBListener::IsValid() will return false). If a listener has been set, then the valid listener object will be returned.

Definition at line 395 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_sp, and lldb::SBListener.

Referenced by ~SBLaunchInfo().

◆ GetShell()

const char * SBLaunchInfo::GetShell ( )

Definition at line 248 of file SBLaunchInfo.cpp.

References lldb_private::ConstString::AsCString(), LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GetShellExpandArguments()

bool SBLaunchInfo::GetShellExpandArguments ( )

Definition at line 263 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GetUserID()

uint32_t SBLaunchInfo::GetUserID ( )

Definition at line 82 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GetWorkingDirectory()

const char * SBLaunchInfo::GetWorkingDirectory ( ) const

Definition at line 211 of file SBLaunchInfo.cpp.

References lldb_private::ConstString::AsCString(), LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ GroupIDIsValid()

bool SBLaunchInfo::GroupIDIsValid ( )

Definition at line 100 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ operator=()

SBLaunchInfo & SBLaunchInfo::operator= ( const SBLaunchInfo & rhs)

Definition at line 59 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_sp, and SBLaunchInfo().

Referenced by ~SBLaunchInfo().

◆ ref()

◆ set_ref()

void SBLaunchInfo::set_ref ( const lldb_private::ProcessLaunchInfo & info)
protected

◆ SetArguments()

void SBLaunchInfo::SetArguments ( const char ** argv,
bool append )

Definition at line 156 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by lldb::SBTarget::LaunchSimple(), and ~SBLaunchInfo().

◆ SetDetachOnError()

void SBLaunchInfo::SetDetachOnError ( bool enable)

Definition at line 324 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ SetEnvironment()

void SBLaunchInfo::SetEnvironment ( const SBEnvironment & env,
bool append )

Update this object with the given environment variables.

If append is false, the provided environment will replace the existing environment. Otherwise, existing values will be updated of left untouched accordingly.

Parameters
[in]envThe new environment variables.
[in]appendFlag that controls whether to replace the existing environment.

Definition at line 189 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_sp, and lldb::SBEnvironment::ref().

Referenced by SetEnvironmentEntries(), and ~SBLaunchInfo().

◆ SetEnvironmentEntries()

void SBLaunchInfo::SetEnvironmentEntries ( const char ** envp,
bool append )

Update this object with the given environment variables.

If append is false, the provided environment will replace the existing environment. Otherwise, existing values will be updated of left untouched accordingly.

Parameters
[in]envpThe new environment variables as a list of strings with the following format name=value
[in]appendFlag that controls whether to replace the existing environment.

Definition at line 184 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, lldb::SBEnvironment, and SetEnvironment().

Referenced by lldb::SBTarget::LaunchSimple(), and ~SBLaunchInfo().

◆ SetExecutableFile()

void SBLaunchInfo::SetExecutableFile ( SBFileSpec exe_file,
bool add_as_first_arg )

Set the executable file that will be used to launch the process and optionally set it as the first argument in the argument vector.

This only needs to be specified if clients wish to carefully control the exact path will be used to launch a binary. If you create a target with a symlink, that symlink will get resolved in the target and the resolved path will get used to launch the process. Calling this function can help you still launch your process using the path of your choice.

If this function is not called prior to launching with SBTarget::Launch(...), the target will use the resolved executable path that was used to create the target.

Parameters
[in]exe_fileThe override path to use when launching the executable.
[in]add_as_first_argIf true, then the path will be inserted into the argument vector prior to launching. Otherwise the argument vector will be left alone.

Definition at line 124 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, m_opaque_sp, and lldb::SBFileSpec::ref().

Referenced by lldb::SBTarget::LaunchSimple(), and ~SBLaunchInfo().

◆ SetGroupID()

void SBLaunchInfo::SetGroupID ( uint32_t gid)

Definition at line 112 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ SetLaunchEventData()

void SBLaunchInfo::SetLaunchEventData ( const char * data)

Definition at line 312 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ SetLaunchFlags()

void SBLaunchInfo::SetLaunchFlags ( uint32_t flags)

Definition at line 230 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ SetListener()

void SBLaunchInfo::SetListener ( SBListener & listener)

Set the listener that will be used to receive process events.

By default the SBDebugger, which has a listener, that the SBTarget belongs to will listen for the process events. Calling this function allows a different listener to be used to listen for process events.

Definition at line 137 of file SBLaunchInfo.cpp.

References lldb::SBListener::GetSP(), LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ SetProcessPluginName()

void SBLaunchInfo::SetProcessPluginName ( const char * plugin_name)

Definition at line 242 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ SetResumeCount()

void SBLaunchInfo::SetResumeCount ( uint32_t c)

Definition at line 281 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ SetScriptedProcessClassName()

void SBLaunchInfo::SetScriptedProcessClassName ( const char * class_name)

Definition at line 350 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ SetScriptedProcessDictionary()

void SBLaunchInfo::SetScriptedProcessDictionary ( lldb::SBStructuredData dict)

◆ SetShadowListener()

void SBLaunchInfo::SetShadowListener ( SBListener & listener)

Set the shadow listener that will receive public process events, additionally to the default process event listener.

By default a process have no shadow event listener. Calling this function allows public process events to be broadcasted to an additional listener on top of the default process event listener. If the listener argument is invalid (SBListener::IsValid() will return false), this will clear the shadow listener.

Definition at line 404 of file SBLaunchInfo.cpp.

References lldb::SBListener::GetSP(), LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ SetShell()

void SBLaunchInfo::SetShell ( const char * path)

Definition at line 257 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ SetShellExpandArguments()

void SBLaunchInfo::SetShellExpandArguments ( bool expand)

Definition at line 269 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ SetUserID()

void SBLaunchInfo::SetUserID ( uint32_t uid)

Definition at line 106 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ SetWorkingDirectory()

void SBLaunchInfo::SetWorkingDirectory ( const char * working_dir)

Definition at line 218 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by lldb::SBTarget::LaunchSimple(), and ~SBLaunchInfo().

◆ UserIDIsValid()

bool SBLaunchInfo::UserIDIsValid ( )

Definition at line 94 of file SBLaunchInfo.cpp.

References LLDB_INSTRUMENT_VA, and m_opaque_sp.

Referenced by ~SBLaunchInfo().

◆ lldb_private::ScriptInterpreterBridge

Definition at line 213 of file SBLaunchInfo.h.

References ref(), and set_ref().

◆ SBPlatform

friend class SBPlatform
friend

Definition at line 210 of file SBLaunchInfo.h.

References SBPlatform.

Referenced by SBPlatform.

◆ SBTarget

friend class SBTarget
friend

Definition at line 211 of file SBLaunchInfo.h.

References SBTarget.

Referenced by SBTarget.

Member Data Documentation

◆ m_opaque_sp


The documentation for this class was generated from the following files: