1 <?php
 2 
 3 /**
 4  * Interface for addons.
 5  *
 6  * @author gharlan
 7  *
 8  * @package redaxo\core\packages
 9  */
10 interface rex_addon_interface extends rex_package_interface
11 {
12     /**
13      * Returns the child plugin by the given name.
14      *
15      * @param string $plugin Name of the plugin
16      *
17      * @return rex_plugin
18      */
19     public function getPlugin($plugin);
20 
21     /**
22      * Returns if the plugin exists.
23      *
24      * @param string $plugin Name of the plugin
25      *
26      * @return bool
27      */
28     public function pluginExists($plugin);
29 
30     /**
31      * Returns the registered plugins.
32      *
33      * @return rex_plugin[]
34      */
35     public function getRegisteredPlugins();
36 
37     /**
38      * Returns the installed plugins.
39      *
40      * @return rex_plugin[]
41      */
42     public function getInstalledPlugins();
43 
44     /**
45      * Returns the available plugins.
46      *
47      * @return rex_plugin[]
48      */
49     public function getAvailablePlugins();
50 
51     /**
52      * Returns the system plugins.
53      *
54      * @return rex_plugin[]
55      */
56     public function getSystemPlugins();
57 }
58