summaryrefslogtreecommitdiff
path: root/src/sysExec.h
diff options
context:
space:
mode:
authorOthmar Gsenger <otti@anytun.org>2010-01-10 22:10:05 +0000
committerOthmar Gsenger <otti@anytun.org>2010-01-10 22:10:05 +0000
commit2f418d7ab9f44ee8d573a81a08c167dbf46f1658 (patch)
treed4d6d38b11fda9ee17b1e4448f8dc1b7ffcc7c32 /src/sysExec.h
parentdispatching right socket for send to function (diff)
fixed priviledge dropping on freebsd
maybee todo: remove old non working preprocessor staments like NO_EXEC to make code simpler
Diffstat (limited to 'src/sysExec.h')
-rw-r--r--src/sysExec.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/sysExec.h b/src/sysExec.h
index e608472..f0461af 100644
--- a/src/sysExec.h
+++ b/src/sysExec.h
@@ -42,11 +42,21 @@
typedef std::vector<std::string> StringVector;
typedef std::list<std::string> StringList;
-void anytun_exec(std::string const& script);
-void anytun_exec(std::string const& script, StringVector const& args);
-void anytun_exec(std::string const& script, StringList const& env);
-void anytun_exec(std::string const& script, StringVector const& args, StringList const& env);
-void waitForScript(std::string const& script, pid_t pid, int pipefd);
+class SysExec
+{
+ public:
+ SysExec(std::string const& script);
+ SysExec(std::string const& script, StringVector const& args);
+ SysExec(std::string const& script, StringList const& env);
+ SysExec(std::string const& script, StringVector const& args, StringList const& env);
+ void waitForScript();
+ ~SysExec();
+ private:
+ std::string script_;
+ pid_t pid_;
+ int pipefd_;
+ bool closed_;
+};
#endif
#endif