public function &__get($property)
{
switch ($property) {
case self::MULTIPLEX:
if (!$this->_multiplexSet && empty($this->_properties['properties'][self::MULTIPLEX])) {
$this->_sniffMultiplex();
$this->multiplex = $this->_properties['properties'][self::MULTIPLEX];
$this->save();
}
case self::ANNOUNCED_VERSION:
case self::BLOCKED:
return $this->_properties['properties'][$property];
case 'clientType':
if (!isset($this->_clientType)) {
$this->_clientType = $this->_getClientType();
}
return $this->_clientType;
case self::VERSION:
if (isset($this->_properties['properties'][self::VERSION])) {
return $this->_properties['properties'][self::VERSION];
}
break;
case self::OS:
if (isset($this->_properties['properties'][self::OS])) {
return $this->_properties['properties'][self::OS];
}
break;
case 'properties':
if (!isset($this->_properties['properties'])) {
$return = array();
return $return;
}
// Fall through.
// Fall through.
default:
if (isset($this->_properties[$property])) {
return $this->_properties[$property];
}
}
$return = null;
return $return;
}