1<?php
2
3/*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Symfony\Component\Console;
13
14/**
15 * Contains all events dispatched by an Application.
16 *
17 * @author Francesco Levorato <git@flevour.net>
18 */
19final class ConsoleEvents
20{
21    /**
22     * The COMMAND event allows you to attach listeners before any command is
23     * executed by the console. It also allows you to modify the command, input and output
24     * before they are handled to the command.
25     *
26     * The event listener method receives a Symfony\Component\Console\Event\ConsoleCommandEvent
27     * instance.
28     *
29     * @Event
30     *
31     * @var string
32     */
33    const COMMAND = 'console.command';
34
35    /**
36     * The TERMINATE event allows you to attach listeners after a command is
37     * executed by the console.
38     *
39     * The event listener method receives a Symfony\Component\Console\Event\ConsoleTerminateEvent
40     * instance.
41     *
42     * @Event
43     *
44     * @var string
45     */
46    const TERMINATE = 'console.terminate';
47
48    /**
49     * The EXCEPTION event occurs when an uncaught exception appears.
50     *
51     * This event allows you to deal with the exception or
52     * to modify the thrown exception. The event listener method receives
53     * a Symfony\Component\Console\Event\ConsoleExceptionEvent
54     * instance.
55     *
56     * @Event
57     *
58     * @var string
59     */
60    const EXCEPTION = 'console.exception';
61}
62