ircbot/Classes/Client/AbstractClient.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;
}
}
?>