1: <?php
 2: 
 3: /**
 4:  * This file is part of the Latte (https://latte.nette.org)
 5:  * Copyright (c) 2008 David Grudl (https://davidgrudl.com)
 6:  */
 7: 
 8: namespace Latte;
 9: 
10: 
11: /**
12:  * Latte macro.
13:  *
14:  * @author     David Grudl
15:  */
16: interface IMacro
17: {
18: 
19:     /**
20:      * Initializes before template parsing.
21:      * @return void
22:      */
23:     function initialize();
24: 
25:     /**
26:      * Finishes template parsing.
27:      * @return array(prolog, epilog)
28:      */
29:     function finalize();
30: 
31:     /**
32:      * New node is found. Returns FALSE to reject.
33:      * @return bool
34:      */
35:     function nodeOpened(MacroNode $node);
36: 
37:     /**
38:      * Node is closed.
39:      * @return void
40:      */
41:     function nodeClosed(MacroNode $node);
42: 
43: }
44: