[Lldb-commits] [lldb] r155251 - in /lldb/branches/lldb-platform-work/source/Plugins/Platform/POSIX: PlatformPOSIX.cpp PlatformPOSIX.h

Enrico Granata egranata at apple.com
Fri Apr 20 15:30:34 PDT 2012


Author: enrico
Date: Fri Apr 20 17:30:34 2012
New Revision: 155251

URL: http://llvm.org/viewvc/llvm-project?rev=155251&view=rev
Log:
Hooking up RunShellCommand() in PlatformPOSIX

Modified:
    lldb/branches/lldb-platform-work/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
    lldb/branches/lldb-platform-work/source/Plugins/Platform/POSIX/PlatformPOSIX.h

Modified: lldb/branches/lldb-platform-work/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/lldb-platform-work/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp?rev=155251&r1=155250&r2=155251&view=diff
==============================================================================
--- lldb/branches/lldb-platform-work/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp (original)
+++ lldb/branches/lldb-platform-work/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp Fri Apr 20 17:30:34 2012
@@ -55,6 +55,25 @@
     return m_options.get();
 }
 
+lldb_private::Error
+PlatformPOSIX::RunShellCommand (const char *command,           // Shouldn't be NULL
+                                const char *working_dir,       // Pass NULL to use the current working directory
+                                int *status_ptr,               // Pass NULL if you don't want the process exit status
+                                int *signo_ptr,                // Pass NULL if you don't want the signal that caused the process to exit
+                                std::string *command_output,   // Pass NULL if you don't want the command output
+                                uint32_t timeout_sec)         // Timeout in seconds to wait for shell program to finish
+{
+    if (IsHost())
+        return Host::RunShellCommand(command, working_dir, status_ptr, signo_ptr, command_output, timeout_sec);
+    else
+    {
+        if (m_remote_platform_sp)
+            return m_remote_platform_sp->RunShellCommand(command, working_dir, status_ptr, signo_ptr, command_output, timeout_sec);
+        else
+            return Error("unable to run a remote command without a platform");
+    }
+}
+
 uint32_t
 PlatformPOSIX::RunShellCommand (const std::string &command_line)
 {

Modified: lldb/branches/lldb-platform-work/source/Plugins/Platform/POSIX/PlatformPOSIX.h
URL: http://llvm.org/viewvc/llvm-project/lldb/branches/lldb-platform-work/source/Plugins/Platform/POSIX/PlatformPOSIX.h?rev=155251&r1=155250&r2=155251&view=diff
==============================================================================
--- lldb/branches/lldb-platform-work/source/Plugins/Platform/POSIX/PlatformPOSIX.h (original)
+++ lldb/branches/lldb-platform-work/source/Plugins/Platform/POSIX/PlatformPOSIX.h Fri Apr 20 17:30:34 2012
@@ -66,6 +66,14 @@
     virtual uint32_t
     RunShellCommand (const std::string &command_line);
     
+    virtual lldb_private::Error
+    RunShellCommand (const char *command,           // Shouldn't be NULL
+                     const char *working_dir,       // Pass NULL to use the current working directory
+                     int *status_ptr,               // Pass NULL if you don't want the process exit status
+                     int *signo_ptr,                // Pass NULL if you don't want the signal that caused the process to exit
+                     std::string *command_output,   // Pass NULL if you don't want the command output
+                     uint32_t timeout_sec);         // Timeout in seconds to wait for shell program to finish
+    
     virtual uint32_t
     MakeDirectory (const std::string &path,
                    mode_t mode);





More information about the lldb-commits mailing list