public function __construct($params = array())
{
$this->_params = $params;
if (empty($params['state']) || !$params['state'] instanceof Horde_ActiveSync_State_Base) {
throw new InvalidArgumentException('Missing required state object');
}
/* Create a stub if we don't have a useable logger. */
if (isset($params['logger']) && is_callable(array($params['logger'], 'log'))) {
$this->_logger = $params['logger'];
unset($params['logger']);
} else {
$this->_logger = new Horde_Log_Logger(new Horde_Log_Handler_Null());
}
$this->_state = $params['state'];
$this->_state->setLogger($this->_logger);
$this->_state->setBackend($this);
}