1 //===-- SWIG Interface for SBLaunchInfo--------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 namespace lldb {
10 
11 %feature("docstring",
12 "Describes how a target or program should be launched."
13 ) SBLaunchInfo;
14 class SBLaunchInfo
15 {
16 public:
17     SBLaunchInfo (const char **argv);
18 
19     pid_t
20     GetProcessID();
21 
22     uint32_t
23     GetUserID();
24 
25     uint32_t
26     GetGroupID();
27 
28     bool
29     UserIDIsValid ();
30 
31     bool
32     GroupIDIsValid ();
33 
34     void
35     SetUserID (uint32_t uid);
36 
37     void
38     SetGroupID (uint32_t gid);
39 
40     lldb::SBFileSpec
41     GetExecutableFile ();
42 
43     void
44     SetExecutableFile (lldb::SBFileSpec exe_file, bool add_as_first_arg);
45 
46     lldb::SBListener
47     GetListener ();
48 
49     void
50     SetListener (lldb::SBListener &listener);
51 
52     uint32_t
53     GetNumArguments ();
54 
55     const char *
56     GetArgumentAtIndex (uint32_t idx);
57 
58     void
59     SetArguments (const char **argv, bool append);
60 
61     uint32_t
62     GetNumEnvironmentEntries ();
63 
64     const char *
65     GetEnvironmentEntryAtIndex (uint32_t idx);
66 
67     void
68     SetEnvironmentEntries (const char **envp, bool append);
69 
70     void
71     SetEnvironment(const SBEnvironment &env, bool append);
72 
73     SBEnvironment
74     GetEnvironment();
75 
76     void
77     Clear ();
78 
79     const char *
80     GetWorkingDirectory () const;
81 
82     void
83     SetWorkingDirectory (const char *working_dir);
84 
85     uint32_t
86     GetLaunchFlags ();
87 
88     void
89     SetLaunchFlags (uint32_t flags);
90 
91     const char *
92     GetProcessPluginName ();
93 
94     void
95     SetProcessPluginName (const char *plugin_name);
96 
97     const char *
98     GetShell ();
99 
100     void
101     SetShell (const char * path);
102 
103     bool
104     GetShellExpandArguments ();
105 
106     void
107     SetShellExpandArguments (bool expand);
108 
109     uint32_t
110     GetResumeCount ();
111 
112     void
113     SetResumeCount (uint32_t c);
114 
115     bool
116     AddCloseFileAction (int fd);
117 
118     bool
119     AddDuplicateFileAction (int fd, int dup_fd);
120 
121     bool
122     AddOpenFileAction (int fd, const char *path, bool read, bool write);
123 
124     bool
125     AddSuppressFileAction (int fd, bool read, bool write);
126 
127     void
128     SetLaunchEventData (const char *data);
129 
130     const char *
131     GetLaunchEventData () const;
132 
133     bool
134     GetDetachOnError() const;
135 
136     void
137     SetDetachOnError(bool enable);
138 
139     const char *
140     GetScriptedProcessClassName() const;
141 
142     void SetScriptedProcessClassName(const char *class_name);
143 
144     lldb::SBStructuredData
145     GetScriptedProcessDictionary() const;
146 
147     void SetScriptedProcessDictionary(lldb::SBStructuredData dict);
148 };
149 
150 } // namespace lldb
151