icingaweb2/library/Icinga/Protocol/Statusdat/RuntimeStateContainer.php
Jannis Moßhammer ba38c89755 Add tested Statusdat Protocol
In order to run the tests, phpunit must be called in the
tests/php folder

refs #4212
2013-06-03 16:14:46 +02:00

36 lines
827 B
PHP
Executable File

<?php
namespace Icinga\Protocol\Statusdat;
class RuntimeStateContainer extends \stdClass
{
public $runtimeState = "";
public function __construct($str = "") {
$this->runtimeState = $str;
}
public function __isset($attr)
{
try {
$this->__get($attr);
return true;
} catch(\InvalidArgumentException $e) {
return false;
}
}
public function __get($attr)
{
$start = strpos($this->runtimeState,$attr."=");
if($start === False)
throw new \InvalidArgumentException("Unknown property $attr");
$start += strlen($attr."=");
$len = strpos($this->runtimeState,"\n",$start) - $start;
$this->$attr = trim(substr($this->runtimeState,$start,$len));
return $this->$attr;
}
}