From 87ecc6be399bf88d83093105c667d3abfd6593de Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Sat, 24 May 2014 14:09:10 +0200 Subject: [PATCH 1/1] Added more methods (required). MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- .../pointer/io/class_InputOutputPointer.php | 23 +++++++++++++++++++ .../main/file_directories/class_BaseFile.php | 22 +++++++++++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/inc/classes/interfaces/io/pointer/io/class_InputOutputPointer.php b/inc/classes/interfaces/io/pointer/io/class_InputOutputPointer.php index 93846ff7..0cb98dd8 100644 --- a/inc/classes/interfaces/io/pointer/io/class_InputOutputPointer.php +++ b/inc/classes/interfaces/io/pointer/io/class_InputOutputPointer.php @@ -28,6 +28,29 @@ interface InputOutputPointer extends InputPointer, OutputPointer { * @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] diff --git a/inc/classes/main/file_directories/class_BaseFile.php b/inc/classes/main/file_directories/class_BaseFile.php index 3d1711e7..303371c6 100644 --- a/inc/classes/main/file_directories/class_BaseFile.php +++ b/inc/classes/main/file_directories/class_BaseFile.php @@ -141,6 +141,16 @@ y * @return void $this->currentBlock = $currentBlock; } + /** + * Gets currently read data + * + * @return $current Currently read data + */ + public function getCurrentBlock () { + // Return it + return $this->currentBlock; + } + /** * Initializes this file class * @@ -289,7 +299,7 @@ y * @return void $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))); @@ -397,6 +407,16 @@ y * @return void // 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] -- 2.30.2