diff options
Diffstat (limited to 'include/lldb/API/SBLaunchInfo.h')
-rw-r--r-- | include/lldb/API/SBLaunchInfo.h | 282 |
1 files changed, 120 insertions, 162 deletions
diff --git a/include/lldb/API/SBLaunchInfo.h b/include/lldb/API/SBLaunchInfo.h index 38d598aec456..1cece235127f 100644 --- a/include/lldb/API/SBLaunchInfo.h +++ b/include/lldb/API/SBLaunchInfo.h @@ -17,179 +17,137 @@ namespace lldb { class SBPlatform; class SBTarget; -class LLDB_API SBLaunchInfo -{ +class LLDB_API SBLaunchInfo { public: - SBLaunchInfo (const char **argv); - - ~SBLaunchInfo(); - - 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 (); - - //---------------------------------------------------------------------- - /// 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. - /// - /// @param[in] exe_file - /// The override path to use when launching the executable. - /// - /// @param[in] add_as_first_arg - /// If true, then the path will be inserted into the argument vector - /// prior to launching. Otherwise the argument vector will be left - /// alone. - //---------------------------------------------------------------------- - void - SetExecutableFile (SBFileSpec exe_file, bool add_as_first_arg); - - - //---------------------------------------------------------------------- - /// 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); - - 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); - - 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); + SBLaunchInfo(const char **argv); - void - SetLaunchEventData (const char *data); + ~SBLaunchInfo(); - const char * - GetLaunchEventData () const; + lldb::pid_t GetProcessID(); - bool - GetDetachOnError() const; + uint32_t GetUserID(); - void - SetDetachOnError(bool enable); + uint32_t GetGroupID(); + + bool UserIDIsValid(); + + bool GroupIDIsValid(); + + void SetUserID(uint32_t uid); + + void SetGroupID(uint32_t gid); + + SBFileSpec GetExecutableFile(); + + //---------------------------------------------------------------------- + /// 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. + /// + /// @param[in] exe_file + /// The override path to use when launching the executable. + /// + /// @param[in] add_as_first_arg + /// If true, then the path will be inserted into the argument vector + /// prior to launching. Otherwise the argument vector will be left + /// alone. + //---------------------------------------------------------------------- + void SetExecutableFile(SBFileSpec exe_file, bool add_as_first_arg); + + //---------------------------------------------------------------------- + /// 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); + + 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); + + 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); protected: - friend class SBPlatform; - friend class SBTarget; + friend class SBPlatform; + friend class SBTarget; - lldb_private::ProcessLaunchInfo & - ref (); + lldb_private::ProcessLaunchInfo &ref(); - const lldb_private::ProcessLaunchInfo & - ref () const; + const lldb_private::ProcessLaunchInfo &ref() const; - ProcessLaunchInfoSP m_opaque_sp; + ProcessLaunchInfoSP m_opaque_sp; }; } // namespace lldb -#endif // LLDB_SBLaunchInfo_h_ +#endif // LLDB_SBLaunchInfo_h_ |