public static function getFromSocket($socket)
{
try {
$version = $socket->getVersion();
} catch (Mage_Core_Exception $e) {
Mage::getSingleton('core/session')->addError('Error determining Varnish version: ' . $e->getMessage());
return null;
}
switch ($version) {
case '4.0':
return Mage::getModel('turpentine/varnish_configurator_version4', array('socket' => $socket));
case '3.0':
return Mage::getModel('turpentine/varnish_configurator_version3', array('socket' => $socket));
case '2.1':
return Mage::getModel('turpentine/varnish_configurator_version2', array('socket' => $socket));
default:
Mage::throwException('Unsupported Varnish version');
}
}