75 lines
1.2 KiB
PHP
75 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace ManiaControl\Plugins;
|
|
|
|
use ManiaControl\ManiaControl;
|
|
|
|
/**
|
|
* Interface for ManiaControl Plugins
|
|
*
|
|
* @author ManiaControl Team <mail@maniacontrol.com>
|
|
* @copyright 2014 ManiaControl Team
|
|
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
|
|
*/
|
|
interface Plugin {
|
|
/*
|
|
* Constants
|
|
*/
|
|
const PLUGIN_INTERFACE = __CLASS__;
|
|
|
|
/**
|
|
* Prepare the Plugin
|
|
*
|
|
* @param ManiaControl $maniaControl
|
|
*/
|
|
public static function prepare(ManiaControl $maniaControl);
|
|
|
|
/**
|
|
* Get plugin id
|
|
*
|
|
* @return int
|
|
*/
|
|
public static function getId();
|
|
|
|
/**
|
|
* Get Plugin Name
|
|
*
|
|
* @return string
|
|
*/
|
|
public static function getName();
|
|
|
|
/**
|
|
* Get Plugin Version
|
|
*
|
|
* @return string
|
|
*/
|
|
public static function getVersion();
|
|
|
|
/**
|
|
* Get Plugin Author
|
|
*
|
|
* @return string
|
|
*/
|
|
public static function getAuthor();
|
|
|
|
/**
|
|
* Get Plugin Description
|
|
*
|
|
* @return string
|
|
*/
|
|
public static function getDescription();
|
|
|
|
/**
|
|
* Load the plugin
|
|
*
|
|
* @param \ManiaControl\ManiaControl $maniaControl
|
|
* @return bool
|
|
*/
|
|
public function load(ManiaControl $maniaControl);
|
|
|
|
/**
|
|
* Unload the plugin and its Resources
|
|
*/
|
|
public function unload();
|
|
}
|