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