id = $id; $this->index = $index; } public function getId() { return $this->id; } public function getIndex() { return $this->index; } public function setIndex($index) { $this->index = $index; } public function getStartToStamp() { return $this->start; } public function getStartToISO() { return CacheTools::stamp2iso($this->start); } public function setStartFromStamp($stamp) { $this->start = $stamp; } public function setStartFromISO($iso) { $this->start = CacheTools::iso2stamp($iso); } public function getStopToStamp() { return $this->stop; } public function getStopToISO() { return CacheTools::stamp2iso($this->stop); } public function setStopFromStamp($stamp) { $this->stop = $stamp; } public function setStopFromISO($iso) { $this->stop = CacheTools::iso2stamp($iso); } public function getDuration() { return ($this->stop-$this->start); } public function isModified() { return $this->isModified; } public function setIsModified($isModified) { $this->isModified = $isModified; } public function isNew() { return $this->isNew; } public function setIsNew($isNew) { $this->isNew = $isNew; } public function toArray() { $result = array( "cacheId" => $this->id, "start" => $this->getStartToISO(), "stop" => $this->getStopToISO() ); if ($this->isNew) $result["isNew"] = true; if ($this->isModified) $result["isModified"] = true; return $result; } public function writeBin($handle) { fwrite($handle,pack('L6',$this->id,$this->index,$this->start,$this->stop,$this->isNew,$this->isModified)); } public function loadBin($handle) { $array = unpack('L6int',fread($handle,6*4)); $this->id = $array['int1']; $this->index = $array['int2']; $this->start = $array['int3']; $this->stop = $array['int4']; $this->isNew = $array['int5']; $this->isModified = $array['int6']; } public function dump() { echo " => Interval : id = ".$this->id.", index = ".$this->index.", start = ".$this->start.", stop = ".$this->stop.", isNew = ".$this->isNew.", isModified = ".$this->isModified.PHP_EOL; } } ?>