62 lines
1.0 KiB
PHP
62 lines
1.0 KiB
PHP
<?php
|
|
/**
|
|
* Abstract class that implements the basic api for any client.
|
|
* @author jpt
|
|
* @abstract
|
|
* @package Client
|
|
*/
|
|
abstract class Client_AbstractClient {
|
|
|
|
/**
|
|
* @var int
|
|
*/
|
|
protected $ID;
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
protected $group;
|
|
|
|
/**
|
|
* Contains a reference to the ClientManager in order to change stuff on the fly.
|
|
* @var Client_ClientManager
|
|
*/
|
|
protected $clientManager;
|
|
|
|
/**
|
|
* This function will be the main entry point of any client.
|
|
* @param string $data
|
|
* @return string
|
|
*/
|
|
abstract public function processData($data);
|
|
|
|
/**
|
|
* This function will load the given config.
|
|
* @param array $config
|
|
*/
|
|
abstract public function loadConfig($config);
|
|
|
|
/**
|
|
* @param int $id
|
|
*/
|
|
public function setID($id) {
|
|
$this->ID = $id;
|
|
}
|
|
|
|
/**
|
|
* @param string $group
|
|
*/
|
|
public function setGroup($group) {
|
|
$this->group = $group;
|
|
}
|
|
|
|
|
|
/**
|
|
* Injects ClientManager
|
|
* @param Client_ClientManager $clientManager
|
|
*/
|
|
public function injectClientManager($clientManager) {
|
|
$this->clientManager = $clientManager;
|
|
}
|
|
}
|
|
?>
|