aboutsummaryrefslogtreecommitdiff
path: root/libraries/Bridge/Process.cpp
diff options
context:
space:
mode:
authorCristian Maglie <c.maglie@bug.st>2013-06-12 13:28:24 +0200
committerCristian Maglie <c.maglie@bug.st>2013-06-12 13:28:24 +0200
commit406c20222affa4940c4b90b42e8cc22cbe10c5e2 (patch)
tree92c5a774c82fb8e8e86040610cbdf517881eb804 /libraries/Bridge/Process.cpp
parent8674a1b9e9da542b729d660d8f996f0e58008dbd (diff)
Added Process.runShellCommand*() methods.
Diffstat (limited to 'libraries/Bridge/Process.cpp')
-rw-r--r--libraries/Bridge/Process.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/libraries/Bridge/Process.cpp b/libraries/Bridge/Process.cpp
index 78f168f..219922a 100644
--- a/libraries/Bridge/Process.cpp
+++ b/libraries/Bridge/Process.cpp
@@ -118,6 +118,20 @@ void Process::close() {
started = false;
}
+unsigned int Process::runShellCommand(const String &command) {
+ runShellCommandAsynchronously(command);
+ while (running())
+ delay(100);
+ return exitValue();
+}
+
+void Process::runShellCommandAsynchronously(const String &command) {
+ begin("/bin/ash");
+ addParameter("-c");
+ addParameter(command);
+ runAsynchronously();
+}
+
// This method is currently unused
//static unsigned int __commandOutputAvailable(uint8_t handle) {
// uint8_t cmd[] = {'o', handle};