Introduced FileNotFoundException
[core.git] / inc / classes / main / file_directories / io_stream / class_FileIoStream.php
index 956ca34a6091e09710eb78fffc41751fbcbd5045..d0ff549078ded20e66400723d7c6e58aaa1b0feb 100644 (file)
@@ -4,7 +4,7 @@
  *
  * @author             Roland Haeder <webmaster@shipsimu.org>
  * @version            0.0.0
- * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2013 Core Developer Team
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team
  * @license            GNU GPL 3.0 or any newer version
  * @link               http://www.shipsimu.org
  *
@@ -81,16 +81,10 @@ class FileIoStream extends BaseFrameworkSystem implements FileInputStreamer, Fil
                for ($idx = 0; $idx < 5; $idx++) {
                        // Get a file output pointer
                        try {
-                               $fileInstance = ObjectFactory::createObjectByConfiguredName('file_raw_output_class', array($fileName));
-                       } catch (FileIoException $e) {
-                               // Create missing directory
-                               $dirName = dirname($fileName);
-                               for ($idx2 = 0; $idx2 < (2 - $idx); $idx2++) {
-                                       $dirName = dirname($dirName);
-                               } // END - for
-
-                               // Try to create it
-                               @mkdir($dirName);
+                               $fileInstance = ObjectFactory::createObjectByConfiguredName('file_raw_output_class', array($fileName, 'wb'));
+                       } catch (FileNotFoundException $e) {
+                               // Bail out
+                               ApplicationEntryPoint::app_exit('The application has made a fatal error. Exception: ' . $e->__toString() . ' with message: ' . $e->getMessage());
                        }
                } // END - for
 
@@ -130,7 +124,7 @@ class FileIoStream extends BaseFrameworkSystem implements FileInputStreamer, Fil
                } // END - while
 
                // Close the file
-               $fileInstance->closeFile();
+               unset($fileInstance);
        }
 
        /**
@@ -166,7 +160,7 @@ class FileIoStream extends BaseFrameworkSystem implements FileInputStreamer, Fil
                } // END - while
 
                // Close directory handle
-               $fileInstance->closeFile();
+               unset($fileInstance);
 
                // Convert it into an array
                $inputBuffer = explode(chr(10), $inputBuffer);
@@ -262,6 +256,36 @@ class FileIoStream extends BaseFrameworkSystem implements FileInputStreamer, Fil
                self::createDebugInstance(__CLASS__)->debugOutput('Unhandled ' . strlen($data) . ' bytes in this stream.');
                throw new UnsupportedOperationException(array($this, __FUNCTION__), self::EXCEPTION_UNSPPORTED_OPERATION);
        }
+
+       /**
+        * Determines seek position
+        *
+        * @return      $seekPosition   Current seek position
+        * @todo        0% done
+        */
+       public function determineSeekPosition () {
+               $this->partialStub();
+       }
+
+       /**
+        * Seek to given offset (default) or other possibilities as fseek() gives.
+        *
+        * @param       $offset         Offset to seek to (or used as "base" for other seeks)
+        * @param       $whence         Added to offset (default: only use offset to seek to)
+        * @return      $status         Status of file seek: 0 = success, -1 = failed
+        */
+       public function seek ($offset, $whence = SEEK_SET) {
+               $this->partialStub('offset=' . $offset . ',whence=' . $whence);
+       }
+
+       /**
+        * Size of file stack
+        *
+        * @return      $size   Size (in bytes) of file
+        */
+       public function size () {
+               $this->partialStub();
+       }
 }
 
 // [EOF]