1<?php
2
3/*
4 * This file is part of Component Installer.
5 *
6 * (c) Rob Loach (http://robloach.net)
7 *
8 * For the full copyright and license information, please view the LICENSE.md
9 * file that was distributed with this source code.
10 */
11
12namespace ComponentInstaller\Process;
13
14use Composer\IO\IOInterface;
15use Composer\Composer;
16
17interface ProcessInterface
18{
19    /**
20     * Create a new Process.
21     *
22     * @param Composer $composer
23     *   The Composer object to act on.
24     * @param IOInterface $io
25     *   Input/Output object to act on.
26     */
27    public function __construct(Composer $composer, IOInterface $io);
28
29    /**
30     * Initialize the process before its run.
31     *
32     * @return boolean
33     *   Whether or not the process should continue after initialization.
34     */
35    public function init();
36
37    /**
38     * Called when running through the process.
39     *
40     * @return boolean
41     *   True or false depending on whether the process was successful.
42     */
43    public function process();
44}
45