aboutsummaryrefslogtreecommitdiff
path: root/scripts/interface/SBPlatform.i
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/interface/SBPlatform.i')
-rw-r--r--scripts/interface/SBPlatform.i196
1 files changed, 196 insertions, 0 deletions
diff --git a/scripts/interface/SBPlatform.i b/scripts/interface/SBPlatform.i
new file mode 100644
index 000000000000..9234a3dbd86f
--- /dev/null
+++ b/scripts/interface/SBPlatform.i
@@ -0,0 +1,196 @@
+//===-- SWIG Interface for SBPlatform ---------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+namespace lldb {
+
+
+class SBPlatformConnectOptions
+{
+public:
+ SBPlatformConnectOptions (const char *url);
+
+ SBPlatformConnectOptions (const SBPlatformConnectOptions &rhs);
+
+ ~SBPlatformConnectOptions ();
+
+ const char *
+ GetURL();
+
+ void
+ SetURL(const char *url);
+
+ bool
+ GetRsyncEnabled();
+
+ void
+ EnableRsync (const char *options,
+ const char *remote_path_prefix,
+ bool omit_remote_hostname);
+
+ void
+ DisableRsync ();
+
+ const char *
+ GetLocalCacheDirectory();
+
+ void
+ SetLocalCacheDirectory(const char *path);
+};
+
+class SBPlatformShellCommand
+{
+public:
+ SBPlatformShellCommand (const char *shell_command);
+
+ SBPlatformShellCommand (const SBPlatformShellCommand &rhs);
+
+ ~SBPlatformShellCommand();
+
+ void
+ Clear();
+
+ const char *
+ GetCommand();
+
+ void
+ SetCommand(const char *shell_command);
+
+ const char *
+ GetWorkingDirectory ();
+
+ void
+ SetWorkingDirectory (const char *path);
+
+ uint32_t
+ GetTimeoutSeconds ();
+
+ void
+ SetTimeoutSeconds (uint32_t sec);
+
+ int
+ GetSignal ();
+
+ int
+ GetStatus ();
+
+ const char *
+ GetOutput ();
+};
+
+%feature("docstring",
+"A class that represents a platform that can represent the current host or a remote host debug platform.
+
+The SBPlatform class represents the current host, or a remote host.
+It can be connected to a remote platform in order to provide ways
+to remotely launch and attach to processes, upload/download files,
+create directories, run remote shell commands, find locally cached
+versions of files from the remote system, and much more.
+
+SBPlatform objects can be created and then used to connect to a remote
+platform which allows the SBPlatform to be used to get a list of the
+current processes on the remote host, attach to one of those processes,
+install programs on the remote system, attach and launch processes,
+and much more.
+
+Every SBTarget has a corresponding SBPlatform. The platform can be
+specified upon target creation, or the currently selected platform
+will attempt to be used when creating the target automatically as long
+as the currently selected platform matches the target architecture
+and executable type. If the architecture or executable type do not match,
+a suitable platform will be found automatically."
+
+) SBPlatform;
+class SBPlatform
+{
+public:
+
+ SBPlatform ();
+
+ SBPlatform (const char *);
+
+ ~SBPlatform();
+
+ bool
+ IsValid () const;
+
+ void
+ Clear ();
+
+ const char *
+ GetWorkingDirectory();
+
+ bool
+ SetWorkingDirectory(const char *);
+
+ const char *
+ GetName ();
+
+ SBError
+ ConnectRemote (lldb::SBPlatformConnectOptions &connect_options);
+
+ void
+ DisconnectRemote ();
+
+ bool
+ IsConnected();
+
+ const char *
+ GetTriple();
+
+ const char *
+ GetHostname ();
+
+ const char *
+ GetOSBuild ();
+
+ const char *
+ GetOSDescription ();
+
+ uint32_t
+ GetOSMajorVersion ();
+
+ uint32_t
+ GetOSMinorVersion ();
+
+ uint32_t
+ GetOSUpdateVersion ();
+
+ lldb::SBError
+ Get (lldb::SBFileSpec &src, lldb::SBFileSpec &dst);
+
+ lldb::SBError
+ Put (lldb::SBFileSpec &src, lldb::SBFileSpec &dst);
+
+ lldb::SBError
+ Install (lldb::SBFileSpec &src, lldb::SBFileSpec &dst);
+
+ lldb::SBError
+ Run (lldb::SBPlatformShellCommand &shell_command);
+
+ lldb::SBError
+ Launch (lldb::SBLaunchInfo &launch_info);
+
+ lldb::SBError
+ Kill (const lldb::pid_t pid);
+
+ lldb::SBError
+ MakeDirectory (const char *path, uint32_t file_permissions = lldb::eFilePermissionsDirectoryDefault);
+
+ uint32_t
+ GetFilePermissions (const char *path);
+
+ lldb::SBError
+ SetFilePermissions (const char *path, uint32_t file_permissions);
+
+ lldb::SBUnixSignals
+ GetUnixSignals();
+
+};
+
+} // namespace lldb