diff options
Diffstat (limited to 'include/lldb/API/SBAttachInfo.h')
-rw-r--r-- | include/lldb/API/SBAttachInfo.h | 358 |
1 files changed, 162 insertions, 196 deletions
diff --git a/include/lldb/API/SBAttachInfo.h b/include/lldb/API/SBAttachInfo.h index a246d9919cfa..6c3561615990 100644 --- a/include/lldb/API/SBAttachInfo.h +++ b/include/lldb/API/SBAttachInfo.h @@ -16,209 +16,175 @@ namespace lldb { class SBTarget; -class LLDB_API SBAttachInfo -{ +class LLDB_API SBAttachInfo { public: - SBAttachInfo (); - - SBAttachInfo (lldb::pid_t pid); - - //------------------------------------------------------------------ - /// Attach to a process by name. - /// - /// This function implies that a future call to SBTarget::Attach(...) - /// will be synchronous. - /// - /// @param[in] path - /// A full or partial name for the process to attach to. - /// - /// @param[in] wait_for - /// If \b false, attach to an existing process whose name matches. - /// If \b true, then wait for the next process whose name matches. - //------------------------------------------------------------------ - SBAttachInfo (const char *path, bool wait_for); - - //------------------------------------------------------------------ - /// Attach to a process by name. - /// - /// Future calls to SBTarget::Attach(...) will be synchronous or - /// asynchronous depending on the \a async argument. - /// - /// @param[in] path - /// A full or partial name for the process to attach to. - /// - /// @param[in] wait_for - /// If \b false, attach to an existing process whose name matches. - /// If \b true, then wait for the next process whose name matches. - /// - /// @param[in] async - /// If \b false, then the SBTarget::Attach(...) call will be a - /// synchronous call with no way to cancel the attach in - /// progress. - /// If \b true, then the SBTarget::Attach(...) function will - /// return immediately and clients are expected to wait for a - /// process eStateStopped event if a suitable process is - /// eventually found. If the client wants to cancel the event, - /// SBProcess::Stop() can be called and an eStateExited process - /// event will be delivered. - //------------------------------------------------------------------ - SBAttachInfo (const char *path, bool wait_for, bool async); - - SBAttachInfo (const SBAttachInfo &rhs); - - ~SBAttachInfo(); - - SBAttachInfo & - operator = (const SBAttachInfo &rhs); - - lldb::pid_t - GetProcessID (); - - void - SetProcessID (lldb::pid_t pid); - - void - SetExecutable (const char *path); - - void - SetExecutable (lldb::SBFileSpec exe_file); - - bool - GetWaitForLaunch (); - - //------------------------------------------------------------------ - /// Set attach by process name settings. - /// - /// Designed to be used after a call to SBAttachInfo::SetExecutable(). - /// This function implies that a call to SBTarget::Attach(...) will - /// be synchronous. - /// - /// @param[in] wait_for - /// If \b false, attach to an existing process whose name matches. - /// If \b true, then wait for the next process whose name matches. - //------------------------------------------------------------------ - void - SetWaitForLaunch (bool b); - - //------------------------------------------------------------------ - /// Set attach by process name settings. - /// - /// Designed to be used after a call to SBAttachInfo::SetExecutable(). - /// Future calls to SBTarget::Attach(...) will be synchronous or - /// asynchronous depending on the \a async argument. - /// - /// @param[in] wait_for - /// If \b false, attach to an existing process whose name matches. - /// If \b true, then wait for the next process whose name matches. - /// - /// @param[in] async - /// If \b false, then the SBTarget::Attach(...) call will be a - /// synchronous call with no way to cancel the attach in - /// progress. - /// If \b true, then the SBTarget::Attach(...) function will - /// return immediately and clients are expected to wait for a - /// process eStateStopped event if a suitable process is - /// eventually found. If the client wants to cancel the event, - /// SBProcess::Stop() can be called and an eStateExited process - /// event will be delivered. - //------------------------------------------------------------------ - void - SetWaitForLaunch (bool b, bool async); - - bool - GetIgnoreExisting (); - - void - SetIgnoreExisting (bool b); - - uint32_t - GetResumeCount (); - - void - SetResumeCount (uint32_t c); - - const char * - GetProcessPluginName (); - - void - SetProcessPluginName (const char *plugin_name); - - uint32_t - GetUserID(); - - uint32_t - GetGroupID(); - - bool - UserIDIsValid (); - - bool - GroupIDIsValid (); - - void - SetUserID (uint32_t uid); - - void - SetGroupID (uint32_t gid); - - uint32_t - GetEffectiveUserID(); - - uint32_t - GetEffectiveGroupID(); - - bool - EffectiveUserIDIsValid (); - - bool - EffectiveGroupIDIsValid (); - - void - SetEffectiveUserID (uint32_t uid); - - void - SetEffectiveGroupID (uint32_t gid); - - lldb::pid_t - GetParentProcessID (); - - void - SetParentProcessID (lldb::pid_t pid); - - bool - ParentProcessIDIsValid(); - - //---------------------------------------------------------------------- - /// 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. - //---------------------------------------------------------------------- - SBListener - GetListener (); - - //---------------------------------------------------------------------- - /// 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. - //---------------------------------------------------------------------- - void - SetListener (SBListener &listener); + SBAttachInfo(); + + SBAttachInfo(lldb::pid_t pid); + + //------------------------------------------------------------------ + /// Attach to a process by name. + /// + /// This function implies that a future call to SBTarget::Attach(...) + /// will be synchronous. + /// + /// @param[in] path + /// A full or partial name for the process to attach to. + /// + /// @param[in] wait_for + /// If \b false, attach to an existing process whose name matches. + /// If \b true, then wait for the next process whose name matches. + //------------------------------------------------------------------ + SBAttachInfo(const char *path, bool wait_for); + + //------------------------------------------------------------------ + /// Attach to a process by name. + /// + /// Future calls to SBTarget::Attach(...) will be synchronous or + /// asynchronous depending on the \a async argument. + /// + /// @param[in] path + /// A full or partial name for the process to attach to. + /// + /// @param[in] wait_for + /// If \b false, attach to an existing process whose name matches. + /// If \b true, then wait for the next process whose name matches. + /// + /// @param[in] async + /// If \b false, then the SBTarget::Attach(...) call will be a + /// synchronous call with no way to cancel the attach in + /// progress. + /// If \b true, then the SBTarget::Attach(...) function will + /// return immediately and clients are expected to wait for a + /// process eStateStopped event if a suitable process is + /// eventually found. If the client wants to cancel the event, + /// SBProcess::Stop() can be called and an eStateExited process + /// event will be delivered. + //------------------------------------------------------------------ + SBAttachInfo(const char *path, bool wait_for, bool async); + + SBAttachInfo(const SBAttachInfo &rhs); + + ~SBAttachInfo(); + + SBAttachInfo &operator=(const SBAttachInfo &rhs); + + lldb::pid_t GetProcessID(); + + void SetProcessID(lldb::pid_t pid); + + void SetExecutable(const char *path); + + void SetExecutable(lldb::SBFileSpec exe_file); + + bool GetWaitForLaunch(); + + //------------------------------------------------------------------ + /// Set attach by process name settings. + /// + /// Designed to be used after a call to SBAttachInfo::SetExecutable(). + /// This function implies that a call to SBTarget::Attach(...) will + /// be synchronous. + /// + /// @param[in] wait_for + /// If \b false, attach to an existing process whose name matches. + /// If \b true, then wait for the next process whose name matches. + //------------------------------------------------------------------ + void SetWaitForLaunch(bool b); + + //------------------------------------------------------------------ + /// Set attach by process name settings. + /// + /// Designed to be used after a call to SBAttachInfo::SetExecutable(). + /// Future calls to SBTarget::Attach(...) will be synchronous or + /// asynchronous depending on the \a async argument. + /// + /// @param[in] wait_for + /// If \b false, attach to an existing process whose name matches. + /// If \b true, then wait for the next process whose name matches. + /// + /// @param[in] async + /// If \b false, then the SBTarget::Attach(...) call will be a + /// synchronous call with no way to cancel the attach in + /// progress. + /// If \b true, then the SBTarget::Attach(...) function will + /// return immediately and clients are expected to wait for a + /// process eStateStopped event if a suitable process is + /// eventually found. If the client wants to cancel the event, + /// SBProcess::Stop() can be called and an eStateExited process + /// event will be delivered. + //------------------------------------------------------------------ + void SetWaitForLaunch(bool b, bool async); + + bool GetIgnoreExisting(); + + void SetIgnoreExisting(bool b); + + uint32_t GetResumeCount(); + + void SetResumeCount(uint32_t c); + + const char *GetProcessPluginName(); + + void SetProcessPluginName(const char *plugin_name); + + uint32_t GetUserID(); + + uint32_t GetGroupID(); + + bool UserIDIsValid(); + + bool GroupIDIsValid(); + void SetUserID(uint32_t uid); + + void SetGroupID(uint32_t gid); + + uint32_t GetEffectiveUserID(); + + uint32_t GetEffectiveGroupID(); + + bool EffectiveUserIDIsValid(); + + bool EffectiveGroupIDIsValid(); + + void SetEffectiveUserID(uint32_t uid); + + void SetEffectiveGroupID(uint32_t gid); + + lldb::pid_t GetParentProcessID(); + + void SetParentProcessID(lldb::pid_t pid); + + bool ParentProcessIDIsValid(); + + //---------------------------------------------------------------------- + /// 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. + //---------------------------------------------------------------------- + SBListener GetListener(); + + //---------------------------------------------------------------------- + /// 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. + //---------------------------------------------------------------------- + void SetListener(SBListener &listener); protected: - friend class SBTarget; + friend class SBTarget; - lldb_private::ProcessAttachInfo & - ref (); + lldb_private::ProcessAttachInfo &ref(); - ProcessAttachInfoSP m_opaque_sp; + ProcessAttachInfoSP m_opaque_sp; }; } // namespace lldb -#endif // LLDB_SBAttachInfo_h_ +#endif // LLDB_SBAttachInfo_h_ |