1 //===-- SWIG Interface for SBPlatform ---------------------------*- 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 12 %feature("docstring", 13 "Describes how :py:class:`SBPlatform.ConnectRemote` connects to a remote platform." 14 ) SBPlatformConnectOptions; 15 class SBPlatformConnectOptions 16 { 17 public: 18 SBPlatformConnectOptions (const char *url); 19 20 SBPlatformConnectOptions (const SBPlatformConnectOptions &rhs); 21 22 ~SBPlatformConnectOptions (); 23 24 const char * 25 GetURL(); 26 27 void 28 SetURL(const char *url); 29 30 bool 31 GetRsyncEnabled(); 32 33 void 34 EnableRsync (const char *options, 35 const char *remote_path_prefix, 36 bool omit_remote_hostname); 37 38 void 39 DisableRsync (); 40 41 const char * 42 GetLocalCacheDirectory(); 43 44 void 45 SetLocalCacheDirectory(const char *path); 46 }; 47 48 %feature("docstring", 49 "Represents a shell command that can be run by :py:class:`SBPlatform.Run`." 50 ) SBPlatformShellCommand; 51 class SBPlatformShellCommand 52 { 53 public: 54 SBPlatformShellCommand (const char *shell, const char *shell_command); 55 SBPlatformShellCommand (const char *shell_command); 56 57 SBPlatformShellCommand (const SBPlatformShellCommand &rhs); 58 59 ~SBPlatformShellCommand(); 60 61 void 62 Clear(); 63 64 const char * 65 GetShell(); 66 67 void 68 SetShell(const char *shell_interpreter); 69 70 const char * 71 GetCommand(); 72 73 void 74 SetCommand(const char *shell_command); 75 76 const char * 77 GetWorkingDirectory (); 78 79 void 80 SetWorkingDirectory (const char *path); 81 82 uint32_t 83 GetTimeoutSeconds (); 84 85 void 86 SetTimeoutSeconds (uint32_t sec); 87 88 int 89 GetSignal (); 90 91 int 92 GetStatus (); 93 94 const char * 95 GetOutput (); 96 }; 97 98 %feature("docstring", 99 "A class that represents a platform that can represent the current host or a remote host debug platform. 100 101 The SBPlatform class represents the current host, or a remote host. 102 It can be connected to a remote platform in order to provide ways 103 to remotely launch and attach to processes, upload/download files, 104 create directories, run remote shell commands, find locally cached 105 versions of files from the remote system, and much more. 106 107 SBPlatform objects can be created and then used to connect to a remote 108 platform which allows the SBPlatform to be used to get a list of the 109 current processes on the remote host, attach to one of those processes, 110 install programs on the remote system, attach and launch processes, 111 and much more. 112 113 Every :py:class:`SBTarget` has a corresponding SBPlatform. The platform can be 114 specified upon target creation, or the currently selected platform 115 will attempt to be used when creating the target automatically as long 116 as the currently selected platform matches the target architecture 117 and executable type. If the architecture or executable type do not match, 118 a suitable platform will be found automatically." 119 120 ) SBPlatform; 121 class SBPlatform 122 { 123 public: 124 125 SBPlatform (); 126 127 SBPlatform (const char *); 128 129 ~SBPlatform(); 130 131 static SBPlatform GetHostPlatform(); 132 133 bool 134 IsValid () const; 135 136 explicit operator bool() const; 137 138 void 139 Clear (); 140 141 const char * 142 GetWorkingDirectory(); 143 144 bool 145 SetWorkingDirectory(const char *); 146 147 const char * 148 GetName (); 149 150 SBError 151 ConnectRemote (lldb::SBPlatformConnectOptions &connect_options); 152 153 void 154 DisconnectRemote (); 155 156 bool 157 IsConnected(); 158 159 const char * 160 GetTriple(); 161 162 const char * 163 GetHostname (); 164 165 const char * 166 GetOSBuild (); 167 168 const char * 169 GetOSDescription (); 170 171 uint32_t 172 GetOSMajorVersion (); 173 174 uint32_t 175 GetOSMinorVersion (); 176 177 uint32_t 178 GetOSUpdateVersion (); 179 180 void 181 SetSDKRoot(const char *sysroot); 182 183 lldb::SBError 184 Get (lldb::SBFileSpec &src, lldb::SBFileSpec &dst); 185 186 lldb::SBError 187 Put (lldb::SBFileSpec &src, lldb::SBFileSpec &dst); 188 189 lldb::SBError 190 Install (lldb::SBFileSpec &src, lldb::SBFileSpec &dst); 191 192 lldb::SBError 193 Run (lldb::SBPlatformShellCommand &shell_command); 194 195 lldb::SBError 196 Launch (lldb::SBLaunchInfo &launch_info); 197 198 lldb::SBError 199 Kill (const lldb::pid_t pid); 200 201 lldb::SBError 202 MakeDirectory (const char *path, uint32_t file_permissions = lldb::eFilePermissionsDirectoryDefault); 203 204 uint32_t 205 GetFilePermissions (const char *path); 206 207 lldb::SBError 208 SetFilePermissions (const char *path, uint32_t file_permissions); 209 210 lldb::SBUnixSignals 211 GetUnixSignals(); 212 213 lldb::SBEnvironment 214 GetEnvironment(); 215 216 }; 217 218 } // namespace lldb 219