2013-11-09 11:06:04 +01:00
|
|
|
<?php
|
|
|
|
|
2013-11-12 15:48:25 +01:00
|
|
|
namespace ManiaControl\Plugins;
|
|
|
|
|
|
|
|
use ManiaControl\ManiaControl;
|
2013-11-09 11:06:04 +01:00
|
|
|
|
|
|
|
/**
|
2013-12-03 22:21:17 +01:00
|
|
|
* Interface for ManiaControl Plugins
|
2013-11-09 11:06:04 +01:00
|
|
|
*
|
2014-05-02 17:40:47 +02:00
|
|
|
* @author ManiaControl Team <mail@maniacontrol.com>
|
|
|
|
* @copyright 2014 ManiaControl Team
|
|
|
|
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
2013-11-09 11:06:04 +01:00
|
|
|
*/
|
2013-12-03 22:21:17 +01:00
|
|
|
interface Plugin {
|
2014-04-12 12:14:37 +02:00
|
|
|
/*
|
2013-12-03 22:21:17 +01:00
|
|
|
* Constants
|
2013-12-03 18:50:30 +01:00
|
|
|
*/
|
2013-12-03 22:21:17 +01:00
|
|
|
const PLUGIN_INTERFACE = __CLASS__;
|
2013-11-09 12:15:02 +01:00
|
|
|
|
2014-01-27 20:39:10 +01:00
|
|
|
/**
|
2014-04-28 17:28:08 +02:00
|
|
|
* Prepare the Plugin
|
2014-01-27 20:39:10 +01:00
|
|
|
*
|
|
|
|
* @param ManiaControl $maniaControl
|
|
|
|
*/
|
|
|
|
public static function prepare(ManiaControl $maniaControl);
|
|
|
|
|
2013-12-09 10:04:22 +01:00
|
|
|
/**
|
|
|
|
* Get plugin id
|
|
|
|
*
|
|
|
|
* @return int
|
|
|
|
*/
|
|
|
|
public static function getId();
|
|
|
|
|
2013-12-03 22:21:17 +01:00
|
|
|
/**
|
|
|
|
* Get Plugin Name
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public static function getName();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get Plugin Version
|
|
|
|
*
|
2014-05-19 16:42:48 +02:00
|
|
|
* @return string
|
2013-12-03 22:21:17 +01:00
|
|
|
*/
|
|
|
|
public static function getVersion();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get Plugin Author
|
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public static function getAuthor();
|
2013-11-09 12:15:02 +01:00
|
|
|
|
2013-11-12 19:33:25 +01:00
|
|
|
/**
|
2013-12-03 22:21:17 +01:00
|
|
|
* Get Plugin Description
|
2013-11-10 02:55:08 +01:00
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
2013-12-03 22:21:17 +01:00
|
|
|
public static function getDescription();
|
2014-05-02 17:40:47 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Load the plugin
|
|
|
|
*
|
2014-07-25 16:28:47 +02:00
|
|
|
* @param ManiaControl $maniaControl
|
2014-05-02 17:40:47 +02:00
|
|
|
* @return bool
|
|
|
|
*/
|
|
|
|
public function load(ManiaControl $maniaControl);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Unload the plugin and its Resources
|
|
|
|
*/
|
|
|
|
public function unload();
|
2013-11-10 02:55:08 +01:00
|
|
|
}
|