diff options
Diffstat (limited to 'include/cru/common/platform/unix/PosixSpawnSubProcess.h')
-rw-r--r-- | include/cru/common/platform/unix/PosixSpawnSubProcess.h | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/include/cru/common/platform/unix/PosixSpawnSubProcess.h b/include/cru/common/platform/unix/PosixSpawnSubProcess.h deleted file mode 100644 index ee4e912a..00000000 --- a/include/cru/common/platform/unix/PosixSpawnSubProcess.h +++ /dev/null @@ -1,50 +0,0 @@ -#pragma once - -#include "../../PreConfig.h" - -#ifndef CRU_PLATFORM_UNIX -#error "This file can only be included on unix." -#endif - -#include "../../Base.h" -#include "../../SubProcess.h" -#include "../../io/AutoReadStream.h" - -#include "UnixFileStream.h" -#include "UnixPipe.h" - -#include <spawn.h> - -namespace cru::platform::unix { -class PosixSpawnSubProcessImpl : public Object, - public virtual IPlatformSubProcessImpl { - CRU_DEFINE_CLASS_LOG_TAG(u"PosixSpawnSubProcess") - - public: - explicit PosixSpawnSubProcessImpl(); - ~PosixSpawnSubProcessImpl(); - - void PlatformCreateProcess(const SubProcessStartInfo& start_info) override; - SubProcessExitResult PlatformWaitForProcess() override; - void PlatformKillProcess() override; - - io::Stream* GetStdinStream() override; - io::Stream* GetStdoutStream() override; - io::Stream* GetStderrStream() override; - - private: - pid_t pid_; - int exit_code_; - - UnixPipe stdin_pipe_; - UnixPipe stdout_pipe_; - UnixPipe stderr_pipe_; - - std::unique_ptr<UnixFileStream> stdin_stream_; - std::unique_ptr<UnixFileStream> stdout_stream_; - std::unique_ptr<UnixFileStream> stderr_stream_; - - std::unique_ptr<io::AutoReadStream> stdout_buffer_stream_; - std::unique_ptr<io::AutoReadStream> stderr_buffer_stream_; -}; -} // namespace cru::platform::unix |