From e532469ca8844bf4daff8d462f80abdd776c018f Mon Sep 17 00:00:00 2001 From: crupest Date: Mon, 24 Jun 2024 00:06:25 +0800 Subject: feat: change subprocess implementation. NEED TEST: BufferStream, AutoReadStream, SubProcess. --- .../cru/common/platform/unix/PosixSpawnSubProcess.h | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'include/cru/common/platform/unix/PosixSpawnSubProcess.h') diff --git a/include/cru/common/platform/unix/PosixSpawnSubProcess.h b/include/cru/common/platform/unix/PosixSpawnSubProcess.h index 9c303700..d4df284b 100644 --- a/include/cru/common/platform/unix/PosixSpawnSubProcess.h +++ b/include/cru/common/platform/unix/PosixSpawnSubProcess.h @@ -16,21 +16,20 @@ #include namespace cru::platform::unix { -class PosixSpawnSubProcess : public PlatformSubProcessBase { +class PosixSpawnSubProcessImpl { CRU_DEFINE_CLASS_LOG_TAG(u"PosixSpawnSubProcess") public: - explicit PosixSpawnSubProcess(SubProcessStartInfo start_info); - ~PosixSpawnSubProcess(); + explicit PosixSpawnSubProcessImpl(); + ~PosixSpawnSubProcessImpl(); - io::Stream* GetStdinStream() override; - io::Stream* GetStdoutStream() override; - io::Stream* GetStderrStream() override; + io::Stream* GetStdinStream(); + io::Stream* GetStdoutStream(); + io::Stream* GetStderrStream(); - protected: - void PlatformCreateProcess() override; - SubProcessExitResult PlatformWaitForProcess() override; - void PlatformKillProcess() override; + void PlatformCreateProcess(const SubProcessStartInfo& start_info); + SubProcessExitResult PlatformWaitForProcess(); + void PlatformKillProcess(); private: pid_t pid_; @@ -47,4 +46,6 @@ class PosixSpawnSubProcess : public PlatformSubProcessBase { std::unique_ptr stdout_buffer_stream_; std::unique_ptr stderr_buffer_stream_; }; + +using PosixSpawnSubProcess = PlatformSubProcess; } // namespace cru::platform::unix -- cgit v1.2.3