Added missing method.
[core.git] / inc / classes / main / file_directories / output / class_FrameworkFileOutputPointer.php
index 1af2697b22d7c15fe3b20826de0ce0952ce08af1..aa8f1a141f4c50aee2b22d8b51a4d462a253e336 100644 (file)
@@ -21,7 +21,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
-class FrameworkFileOutputPointer extends BaseFileIo {
+class FrameworkFileOutputPointer extends BaseFileIo implements OutputPointer {
        /**
         * Protected constructor
         *
@@ -39,7 +39,7 @@ class FrameworkFileOutputPointer extends BaseFileIo {
         * @param       $fileName       The file name we shall pass to fopen()
         * @param       $mode           The output mode ('w', 'a' are valid)
         * @throws      FileIsEmptyException    If the provided file name is empty.
-        * @throws      FileIoException         If fopen() returns not a file resource
+        * @throws      FileIoException                 If fopen() returns not a file resource
         * @return      void
         */
        public static final function createFrameworkFileOutputPointer ($fileName, $mode) {
@@ -89,6 +89,61 @@ class FrameworkFileOutputPointer extends BaseFileIo {
                // Write data to the file pointer and return written bytes
                return fwrite($this->getPointer(), $dataStream);
        }
+
+       /**
+        * Analyzes entries in index file. This will count all found (and valid)
+        * entries, mark invalid as damaged and count gaps ("fragmentation"). If
+        * only gaps are found, the file is considered as "virgin" (no entries).
+        *
+        * @return      void
+        * @throws      UnsupportedOperationException   If this method is called
+        */
+       public function analyzeFile () {
+               throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION);
+       }
+
+       /**
+        * Writes at given position by seeking to it.
+        *
+        * @param       $seekPosition   Seek position in file
+        * @param       $data                   Data to be written
+        * @return      mixed                   Number of writes bytes or FALSE on error
+        * @throws      UnsupportedOperationException   If this method is called
+        */
+       public function writeAtPosition ($seedPosition, $data) {
+               throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION);
+       }
+
+       /**
+        * Advances to next "block" of bytes
+        *
+        * @return      void
+        * @throws      UnsupportedOperationException   If this method is called
+        */
+       public function next () {
+               throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION);
+       }
+
+       /**
+        * 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
+        * @throws      UnsupportedOperationException   If this method is called
+        */
+       public function valid () {
+               throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION);
+       }
+
+       /**
+        * Gets current seek position ("key").
+        *
+        * @return      $key    Current key in iteration
+        * @throws      UnsupportedOperationException   If this method is called
+        */
+       public function key () {
+               throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION);
+       }
 }
 
 // [EOF]