1061da546Spatrick //===-- SWIG Interface for SBLaunchInfo--------------------------*- C++ -*-===// 2061da546Spatrick // 3061da546Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4061da546Spatrick // See https://llvm.org/LICENSE.txt for license information. 5061da546Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6061da546Spatrick // 7061da546Spatrick //===----------------------------------------------------------------------===// 8061da546Spatrick 9061da546Spatrick namespace lldb { 10061da546Spatrick 11*be691f3bSpatrick %feature("docstring", 12*be691f3bSpatrick "Describes how a target or program should be launched." 13*be691f3bSpatrick ) SBLaunchInfo; 14061da546Spatrick class SBLaunchInfo 15061da546Spatrick { 16061da546Spatrick public: 17061da546Spatrick SBLaunchInfo (const char **argv); 18061da546Spatrick 19061da546Spatrick pid_t 20061da546Spatrick GetProcessID(); 21061da546Spatrick 22061da546Spatrick uint32_t 23061da546Spatrick GetUserID(); 24061da546Spatrick 25061da546Spatrick uint32_t 26061da546Spatrick GetGroupID(); 27061da546Spatrick 28061da546Spatrick bool 29061da546Spatrick UserIDIsValid (); 30061da546Spatrick 31061da546Spatrick bool 32061da546Spatrick GroupIDIsValid (); 33061da546Spatrick 34061da546Spatrick void 35061da546Spatrick SetUserID (uint32_t uid); 36061da546Spatrick 37061da546Spatrick void 38061da546Spatrick SetGroupID (uint32_t gid); 39061da546Spatrick 40061da546Spatrick lldb::SBFileSpec 41061da546Spatrick GetExecutableFile (); 42061da546Spatrick 43061da546Spatrick void 44061da546Spatrick SetExecutableFile (lldb::SBFileSpec exe_file, bool add_as_first_arg); 45061da546Spatrick 46061da546Spatrick lldb::SBListener 47061da546Spatrick GetListener (); 48061da546Spatrick 49061da546Spatrick void 50061da546Spatrick SetListener (lldb::SBListener &listener); 51061da546Spatrick 52061da546Spatrick uint32_t 53061da546Spatrick GetNumArguments (); 54061da546Spatrick 55061da546Spatrick const char * 56061da546Spatrick GetArgumentAtIndex (uint32_t idx); 57061da546Spatrick 58061da546Spatrick void 59061da546Spatrick SetArguments (const char **argv, bool append); 60061da546Spatrick 61061da546Spatrick uint32_t 62061da546Spatrick GetNumEnvironmentEntries (); 63061da546Spatrick 64061da546Spatrick const char * 65061da546Spatrick GetEnvironmentEntryAtIndex (uint32_t idx); 66061da546Spatrick 67061da546Spatrick void 68061da546Spatrick SetEnvironmentEntries (const char **envp, bool append); 69061da546Spatrick 70061da546Spatrick void 71dda28197Spatrick SetEnvironment(const SBEnvironment &env, bool append); 72dda28197Spatrick 73dda28197Spatrick SBEnvironment 74dda28197Spatrick GetEnvironment(); 75dda28197Spatrick 76dda28197Spatrick void 77061da546Spatrick Clear (); 78061da546Spatrick 79061da546Spatrick const char * 80061da546Spatrick GetWorkingDirectory () const; 81061da546Spatrick 82061da546Spatrick void 83061da546Spatrick SetWorkingDirectory (const char *working_dir); 84061da546Spatrick 85061da546Spatrick uint32_t 86061da546Spatrick GetLaunchFlags (); 87061da546Spatrick 88061da546Spatrick void 89061da546Spatrick SetLaunchFlags (uint32_t flags); 90061da546Spatrick 91061da546Spatrick const char * 92061da546Spatrick GetProcessPluginName (); 93061da546Spatrick 94061da546Spatrick void 95061da546Spatrick SetProcessPluginName (const char *plugin_name); 96061da546Spatrick 97061da546Spatrick const char * 98061da546Spatrick GetShell (); 99061da546Spatrick 100061da546Spatrick void 101061da546Spatrick SetShell (const char * path); 102061da546Spatrick 103061da546Spatrick bool 104061da546Spatrick GetShellExpandArguments (); 105061da546Spatrick 106061da546Spatrick void 107061da546Spatrick SetShellExpandArguments (bool expand); 108061da546Spatrick 109061da546Spatrick uint32_t 110061da546Spatrick GetResumeCount (); 111061da546Spatrick 112061da546Spatrick void 113061da546Spatrick SetResumeCount (uint32_t c); 114061da546Spatrick 115061da546Spatrick bool 116061da546Spatrick AddCloseFileAction (int fd); 117061da546Spatrick 118061da546Spatrick bool 119061da546Spatrick AddDuplicateFileAction (int fd, int dup_fd); 120061da546Spatrick 121061da546Spatrick bool 122061da546Spatrick AddOpenFileAction (int fd, const char *path, bool read, bool write); 123061da546Spatrick 124061da546Spatrick bool 125061da546Spatrick AddSuppressFileAction (int fd, bool read, bool write); 126061da546Spatrick 127061da546Spatrick void 128061da546Spatrick SetLaunchEventData (const char *data); 129061da546Spatrick 130061da546Spatrick const char * 131061da546Spatrick GetLaunchEventData () const; 132061da546Spatrick 133061da546Spatrick bool 134061da546Spatrick GetDetachOnError() const; 135061da546Spatrick 136061da546Spatrick void 137061da546Spatrick SetDetachOnError(bool enable); 138*be691f3bSpatrick 139*be691f3bSpatrick const char * 140*be691f3bSpatrick GetScriptedProcessClassName() const; 141*be691f3bSpatrick 142*be691f3bSpatrick void SetScriptedProcessClassName(const char *class_name); 143*be691f3bSpatrick 144*be691f3bSpatrick lldb::SBStructuredData 145*be691f3bSpatrick GetScriptedProcessDictionary() const; 146*be691f3bSpatrick 147*be691f3bSpatrick void SetScriptedProcessDictionary(lldb::SBStructuredData dict); 148061da546Spatrick }; 149061da546Spatrick 150061da546Spatrick } // namespace lldb 151