diff options
Diffstat (limited to 'vendor/gipfl/process/src/FinishedProcessState.php')
-rw-r--r-- | vendor/gipfl/process/src/FinishedProcessState.php | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/vendor/gipfl/process/src/FinishedProcessState.php b/vendor/gipfl/process/src/FinishedProcessState.php new file mode 100644 index 0000000..fd70292 --- /dev/null +++ b/vendor/gipfl/process/src/FinishedProcessState.php @@ -0,0 +1,66 @@ +<?php + +namespace gipfl\Process; + +class FinishedProcessState +{ + /** @var int|null */ + protected $exitCode; + + /** @var int|null */ + protected $termSignal; + + public function __construct($exitCode, $termSignal) + { + $this->exitCode = $exitCode; + $this->termSignal = $termSignal; + } + + public function succeeded() + { + return $this->exitCode === 0; + } + + /** + * @return int|null + */ + public function getExitCode() + { + return $this->exitCode; + } + + public function getTermSignal() + { + return $this->termSignal; + } + + public function getCombinedExitCode() + { + if ($this->exitCode === null) { + if ($this->termSignal === null) { + return 255; + } else { + return 255 + $this->termSignal; + } + } else { + return $this->exitCode; + } + } + + public function getReason() + { + if ($this->exitCode === null) { + if ($this->termSignal === null) { + return 'Process died'; + } else { + return 'Process got terminated with SIGNAL ' . $this->termSignal; + } + } else { + if ($this->exitCode === 0) { + return 'Process finished successfully'; + } else { + return 'Process exited with exit code ' . $this->exitCode; + } + } + } +} |