62 lines
No EOL
1.5 KiB
PHP
62 lines
No EOL
1.5 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Abstract Class for Callback Events.
|
|
*
|
|
* @author Time.ly Network Inc.
|
|
* @since 2.0
|
|
*
|
|
* @package AI1EC
|
|
* @subpackage AI1EC.Event
|
|
*/
|
|
abstract class Ai1ec_Event_Callback_Abstract {
|
|
|
|
/**
|
|
* @var Ai1ec_Registry_Object The Object registry.
|
|
*/
|
|
protected $_registry = null;
|
|
|
|
/**
|
|
* @var string The registry method name defined in the class map.
|
|
*/
|
|
protected $_registry_name = null;
|
|
|
|
/**
|
|
* @var string The method invoked by the current callback.
|
|
*/
|
|
protected $_method = null;
|
|
|
|
/**
|
|
* Initiate callback objects.
|
|
*
|
|
* @param Ai1ec_Registry_Object $registry Registry object.
|
|
* @param string $path Registry method name defined in the class map.
|
|
* @param string $method Method invoked by the currect callback.
|
|
*
|
|
* @return void Constructor does not return.
|
|
*/
|
|
public function __construct(
|
|
Ai1ec_Registry_Object $registry,
|
|
$path,
|
|
$method
|
|
) {
|
|
$this->_registry = $registry;
|
|
$this->_registry_name = $path;
|
|
$this->_method = $method;
|
|
}
|
|
|
|
/**
|
|
* Invoke the method added to the current callback.
|
|
*
|
|
* @return mixed Value returned by the current method.
|
|
*/
|
|
public function run() {
|
|
$argv = func_get_args();
|
|
return $this->_registry->dispatch(
|
|
$this->_registry_name,
|
|
$this->_method,
|
|
$argv
|
|
);
|
|
}
|
|
|
|
} |