Also getSeekPosition() belongs here ... + TODOs.txt updated (--amend rocks!)
[core.git] / inc / classes / main / iterator / file / class_FileIterator.php
index 35ceedd7b0e1505441977bdda03adfdecf90fe07..303097568594b096714c16ed25b62a39c9e74c33 100644 (file)
@@ -112,21 +112,6 @@ class FileIterator extends BaseIterator implements SeekableWritableFileIterator
                return $this->getBlockInstance()->seek($seekPosition);
        }
 
-       /**
-        * Writes at given position by seeking to it.
-        *
-        * @param       $seekPosition   Seek position in file
-        * @param       $data                   Data to be written
-        * @return      void
-        */
-       public function writeAtPosition ($seekPosition, $data) {
-               // First seek to it
-               $this->seek($seekPosition);
-
-               // Then write the data at that position
-               $this->getBlockInstance()->writeToFile($data);
-       }
-
        /**
         * Size of file stack
         *
@@ -258,6 +243,49 @@ class FileIterator extends BaseIterator implements SeekableWritableFileIterator
                // Call block instance
                $this->getBlockInstance()->updateSeekPosition();
        }
+
+       /**
+        * Getter for total entries
+        *
+        * @return      $totalEntries   Total entries in this file
+        */
+       public final function getCounter () {
+               // Call block instance
+               return $this->getBlockInstance()->getCounter();
+       }
+
+       /**
+        * "Getter" for file size
+        *
+        * @return      $fileSize       Size of currently loaded file
+        */
+       public function getFileSize () {
+               // Call block instance
+               return $this->getBlockInstance()->getFileSize();
+       }
+
+       /**
+        * Writes data at given position
+        *
+        * @param       $seekPosition   Seek position
+        * @param       $data                   Data to be written
+        * @param       $flushHeader    Whether to flush the header (default: flush)
+        * @return      void
+        */
+       public function writeData ($seekPosition, $data, $flushHeader = TRUE) {
+               // Call block instance
+               $this->getBlockInstance()->writeData($seekPosition, $data, $flushHeader);
+       }
+
+       /**
+        * Getter for seek position
+        *
+        * @return      $seekPosition   Current seek position (stored here in object)
+        */
+       public function getSeekPosition () {
+               // Call block instance
+               return $this->getBlockInstance()->getSeekPosition();
+       }
 }
 
 // [EOF]