TrackManiaControl/core/Plugins/Plugin.php

75 lines
1.2 KiB
PHP
Raw Normal View History

2013-11-09 11:06:04 +01:00
<?php
namespace ManiaControl\Plugins;
use ManiaControl\ManiaControl;
2013-11-09 11:06:04 +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>
2019-01-05 21:02:24 +01:00
* @copyright 2014-2019 ManiaControl Team
2014-05-02 17:40:47 +02:00
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
2013-11-09 11:06:04 +01:00
*/
interface Plugin {
/*
* Constants
*/
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();
/**
* 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();
2013-11-09 12:15:02 +01:00
/**
* Get Plugin Description
*
* @return string
*/
public static function getDescription();
2014-05-02 17:40:47 +02:00
/**
* Load the plugin
*
* @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();
}