2010-06-16 01:55:39 +01:00
|
|
|
<?php
|
|
|
|
/**
|
2010-08-03 19:45:55 +01:00
|
|
|
* Phergie
|
2010-06-16 01:55:39 +01:00
|
|
|
*
|
|
|
|
* PHP version 5
|
|
|
|
*
|
|
|
|
* LICENSE
|
|
|
|
*
|
|
|
|
* This source file is subject to the new BSD license that is bundled
|
|
|
|
* with this package in the file LICENSE.
|
|
|
|
* It is also available through the world-wide-web at this URL:
|
|
|
|
* http://phergie.org/license
|
|
|
|
*
|
2010-08-03 19:45:55 +01:00
|
|
|
* @category Phergie
|
2010-06-16 01:55:39 +01:00
|
|
|
* @package Phergie
|
|
|
|
* @author Phergie Development Team <team@phergie.org>
|
|
|
|
* @copyright 2008-2010 Phergie Development Team (http://phergie.org)
|
|
|
|
* @license http://phergie.org/license New BSD License
|
|
|
|
* @link http://pear.phergie.org/package/Phergie
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Connection data processor which reads all connections looking
|
|
|
|
* for a response.
|
|
|
|
*
|
2010-08-03 19:45:55 +01:00
|
|
|
* @category Phergie
|
2010-06-16 01:55:39 +01:00
|
|
|
* @package Phergie
|
|
|
|
* @author Phergie Development Team <team@phergie.org>
|
|
|
|
* @license http://phergie.org/license New BSD License
|
|
|
|
* @link http://pear.phergie.org/package/Phergie
|
|
|
|
*/
|
|
|
|
class Phergie_Process_Standard extends Phergie_Process_Abstract
|
|
|
|
{
|
|
|
|
/**
|
2010-08-03 19:45:55 +01:00
|
|
|
* Obtains and processes incoming events, then sends resulting outgoing
|
2010-06-16 01:55:39 +01:00
|
|
|
* events.
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function handleEvents()
|
|
|
|
{
|
|
|
|
foreach ($this->connections as $connection) {
|
|
|
|
$this->driver->setConnection($connection);
|
|
|
|
$this->plugins->setConnection($connection);
|
|
|
|
$this->plugins->onTick();
|
|
|
|
|
|
|
|
if ($event = $this->driver->getEvent()) {
|
|
|
|
$this->ui->onEvent($event, $connection);
|
|
|
|
$this->plugins->setEvent($event);
|
2010-08-03 19:45:55 +01:00
|
|
|
|
|
|
|
if (!$this->plugins->preEvent()) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
2010-06-16 01:55:39 +01:00
|
|
|
$this->plugins->{'on' . ucfirst($event->getType())}();
|
|
|
|
}
|
|
|
|
|
|
|
|
$this->processEvents($connection);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|