aboutsummaryrefslogtreecommitdiff
path: root/include/cru/common/platform
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/common/platform')
-rw-r--r--include/cru/common/platform/unix/PosixSpawnSubProcess.h21
1 files changed, 11 insertions, 10 deletions
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 <spawn.h>
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<io::AutoReadStream> stdout_buffer_stream_;
std::unique_ptr<io::AutoReadStream> stderr_buffer_stream_;
};
+
+using PosixSpawnSubProcess = PlatformSubProcess<PosixSpawnSubProcessImpl>;
} // namespace cru::platform::unix