1359575Sdim//===-- SWIG Interface for SBAttachInfo--------------------------*- C++ -*-===//
2359575Sdim//
3359575Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4359575Sdim// See https://llvm.org/LICENSE.txt for license information.
5359575Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6359575Sdim//
7359575Sdim//===----------------------------------------------------------------------===//
8359575Sdim
9359575Sdimnamespace lldb {
10359575Sdim
11359575Sdimclass SBAttachInfo
12359575Sdim{
13359575Sdimpublic:
14359575Sdim    SBAttachInfo ();
15359575Sdim
16359575Sdim    SBAttachInfo (lldb::pid_t pid);
17359575Sdim
18359575Sdim    SBAttachInfo (const char *path, bool wait_for);
19359575Sdim
20359575Sdim    SBAttachInfo (const char *path, bool wait_for, bool async);
21359575Sdim
22359575Sdim    SBAttachInfo (const lldb::SBAttachInfo &rhs);
23359575Sdim
24359575Sdim    lldb::pid_t
25359575Sdim    GetProcessID ();
26359575Sdim
27359575Sdim    void
28359575Sdim    SetProcessID (lldb::pid_t pid);
29359575Sdim
30359575Sdim    void
31359575Sdim    SetExecutable (const char *path);
32359575Sdim
33359575Sdim    void
34359575Sdim    SetExecutable (lldb::SBFileSpec exe_file);
35359575Sdim
36359575Sdim    bool
37359575Sdim    GetWaitForLaunch ();
38359575Sdim
39359575Sdim    void
40359575Sdim    SetWaitForLaunch (bool b);
41359575Sdim
42359575Sdim    void
43359575Sdim    SetWaitForLaunch (bool b, bool async);
44359575Sdim
45359575Sdim    bool
46359575Sdim    GetIgnoreExisting ();
47359575Sdim
48359575Sdim    void
49359575Sdim    SetIgnoreExisting (bool b);
50359575Sdim
51359575Sdim    uint32_t
52359575Sdim    GetResumeCount ();
53359575Sdim
54359575Sdim    void
55359575Sdim    SetResumeCount (uint32_t c);
56359575Sdim
57359575Sdim    const char *
58359575Sdim    GetProcessPluginName ();
59359575Sdim
60359575Sdim    void
61359575Sdim    SetProcessPluginName (const char *plugin_name);
62359575Sdim
63359575Sdim    uint32_t
64359575Sdim    GetUserID();
65359575Sdim
66359575Sdim    uint32_t
67359575Sdim    GetGroupID();
68359575Sdim
69359575Sdim    bool
70359575Sdim    UserIDIsValid ();
71359575Sdim
72359575Sdim    bool
73359575Sdim    GroupIDIsValid ();
74359575Sdim
75359575Sdim    void
76359575Sdim    SetUserID (uint32_t uid);
77359575Sdim
78359575Sdim    void
79359575Sdim    SetGroupID (uint32_t gid);
80359575Sdim
81359575Sdim    uint32_t
82359575Sdim    GetEffectiveUserID();
83359575Sdim
84359575Sdim    uint32_t
85359575Sdim    GetEffectiveGroupID();
86359575Sdim
87359575Sdim    bool
88359575Sdim    EffectiveUserIDIsValid ();
89359575Sdim
90359575Sdim    bool
91359575Sdim    EffectiveGroupIDIsValid ();
92359575Sdim
93359575Sdim    void
94359575Sdim    SetEffectiveUserID (uint32_t uid);
95359575Sdim
96359575Sdim    void
97359575Sdim    SetEffectiveGroupID (uint32_t gid);
98359575Sdim
99359575Sdim    lldb::pid_t
100359575Sdim    GetParentProcessID ();
101359575Sdim
102359575Sdim    void
103359575Sdim    SetParentProcessID (lldb::pid_t pid);
104359575Sdim
105359575Sdim    bool
106359575Sdim    ParentProcessIDIsValid();
107359575Sdim
108359575Sdim    lldb::SBListener
109359575Sdim    GetListener ();
110359575Sdim
111359575Sdim    void
112359575Sdim    SetListener (lldb::SBListener &listener);
113359575Sdim};
114359575Sdim
115359575Sdim} // namespace lldb
116