TrackManiaControl/application/core/Plugins/Plugin.php

74 lines
1.1 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
*
* @author steeffeen & kremsy
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
/**
* Prepares the Plugin
*
* @param ManiaControl $maniaControl
* @return mixed
*/
public static function prepare(ManiaControl $maniaControl);
2013-11-09 12:15:02 +01:00
/**
2013-12-14 23:29:17 +01:00
* Load the plugin
2013-11-09 12:15:02 +01:00
*
2014-01-27 20:39:10 +01:00
* @param \ManiaControl\ManiaControl $maniaControl
2013-12-14 23:29:17 +01:00
* @return bool
2013-11-09 12:15:02 +01:00
*/
2013-12-14 23:29:17 +01:00
public function load(ManiaControl $maniaControl);
/**
* Unload the plugin and its resources
*/
public function unload();
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 float
*/
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();
}