summaryrefslogtreecommitdiffstats
path: root/lldb/scripts/Python/interface
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/scripts/Python/interface')
-rw-r--r--lldb/scripts/Python/interface/SBDebugger.i6
-rw-r--r--lldb/scripts/Python/interface/SBFileSpec.i6
-rw-r--r--lldb/scripts/Python/interface/SBModule.i6
-rw-r--r--lldb/scripts/Python/interface/SBPlatform.i187
-rw-r--r--lldb/scripts/Python/interface/SBTarget.i19
5 files changed, 224 insertions, 0 deletions
diff --git a/lldb/scripts/Python/interface/SBDebugger.i b/lldb/scripts/Python/interface/SBDebugger.i
index 43cc16e7394..6d075ace791 100644
--- a/lldb/scripts/Python/interface/SBDebugger.i
+++ b/lldb/scripts/Python/interface/SBDebugger.i
@@ -231,6 +231,12 @@ public:
void
SetSelectedTarget (lldb::SBTarget &target);
+ lldb::SBPlatform
+ GetSelectedPlatform();
+
+ void
+ SetSelectedPlatform(lldb::SBPlatform &platform);
+
lldb::SBSourceManager
GetSourceManager ();
diff --git a/lldb/scripts/Python/interface/SBFileSpec.i b/lldb/scripts/Python/interface/SBFileSpec.i
index 07d97babbee..2195434922c 100644
--- a/lldb/scripts/Python/interface/SBFileSpec.i
+++ b/lldb/scripts/Python/interface/SBFileSpec.i
@@ -58,6 +58,12 @@ public:
const char *
GetDirectory() const;
+ void
+ SetFilename(const char *filename);
+
+ void
+ SetDirectory(const char *directory);
+
uint32_t
GetPath (char *dst_path, size_t dst_len) const;
diff --git a/lldb/scripts/Python/interface/SBModule.i b/lldb/scripts/Python/interface/SBModule.i
index fdf017754d0..21f9dcc4055 100644
--- a/lldb/scripts/Python/interface/SBModule.i
+++ b/lldb/scripts/Python/interface/SBModule.i
@@ -148,6 +148,12 @@ public:
bool
SetPlatformFileSpec (const lldb::SBFileSpec &platform_file);
+
+ lldb::SBFileSpec
+ GetRemoteInstallFileSpec ();
+
+ bool
+ SetRemoteInstallFileSpec (lldb::SBFileSpec &file);
%feature("docstring", "Returns the UUID of the module as a Python string."
) GetUUIDString;
diff --git a/lldb/scripts/Python/interface/SBPlatform.i b/lldb/scripts/Python/interface/SBPlatform.i
new file mode 100644
index 00000000000..ef03b0c11c4
--- /dev/null
+++ b/lldb/scripts/Python/interface/SBPlatform.i
@@ -0,0 +1,187 @@
+//===-- 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 the 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
+ 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);
+
+};
+
+} // namespace lldb
diff --git a/lldb/scripts/Python/interface/SBTarget.i b/lldb/scripts/Python/interface/SBTarget.i
index d259d924854..92518fee602 100644
--- a/lldb/scripts/Python/interface/SBTarget.i
+++ b/lldb/scripts/Python/interface/SBTarget.i
@@ -266,6 +266,25 @@ public:
%feature("docstring", "
//------------------------------------------------------------------
+ /// Install any binaries that need to be installed.
+ ///
+ /// This function does nothing when debugging on the host system.
+ /// When connected to remote platforms, the target's main executable
+ /// and any modules that have their install path set will be
+ /// installed on the remote platform. If the main executable doesn't
+ /// have an install location set, it will be installed in the remote
+ /// platform's working directory.
+ ///
+ /// @return
+ /// An error describing anything that went wrong during
+ /// installation.
+ //------------------------------------------------------------------
+ ") Install;
+ lldb::SBError
+ Install();
+
+ %feature("docstring", "
+ //------------------------------------------------------------------
/// Launch a new process.
///
/// Launch a new process by spawning a new process using the
OpenPOWER on IntegriCloud