4 * This file is part of Zippy.
6 * (c) Alchemy <info@alchemy.fr>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Alchemy\Zippy\ProcessBuilder;
14 use Alchemy\Zippy\Exception\InvalidArgumentException;
15 use Symfony\Component\Process\ProcessBuilder;
17 interface ProcessBuilderFactoryInterface
20 * Returns a new instance of Symfony ProcessBuilder
22 * @return ProcessBuilder
24 * @throws InvalidArgumentException
26 public function create();
29 * Returns the binary path
33 public function getBinary();
36 * Sets the binary path
38 * @param string $binary A binary path
40 * @return ProcessBuilderFactoryInterface
42 * @throws InvalidArgumentException In case binary is not executable
44 public function useBinary($binary);