* @return $status Status of this operation
*/
function rewind ();
+
+ /**
+ * Advances to next "block" of bytes
+ *
+ * @return void
+ * @todo This method will load large but empty files in a whole
+ */
+ function next ();
+
+ /**
+ * Checks wether the current entry is valid (not at the end of the file).
+ * This method will return TRUE if an emptied (nulled) entry has been found.
+ *
+ * @return $isValid Whether the next entry is valid
+ */
+ function valid ();
+
+ /**
+ * Gets current seek position ("key").
+ *
+ * @return $key Current key in iteration
+ */
+ function key ();
}
// [EOF]
$this->currentBlock = $currentBlock;
}
+ /**
+ * Gets currently read data
+ *
+ * @return $current Currently read data
+ */
+ public function getCurrentBlock () {
+ // Return it
+ return $this->currentBlock;
+ }
+
/**
* Initializes this file class
*
$this->next();
// Get current entry
- $current = $this->current();
+ $current = $this->getCurrentBlock();
// Simply output it
self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] current=%s', __METHOD__, __LINE__, print_r($current, TRUE)));
// Return result
return $isValid;
}
+
+ /**
+ * Gets current seek position ("key").
+ *
+ * @return $key Current key in iteration
+ */
+ public function key () {
+ // Call pointer instance
+ return $this->getPointerInstance()->determineSeekPosition();
+ }
}
// [EOF]