* @return $status Status of this operation
*/
function rewind ();
-
- /**
- * Seeks to given position
- *
- * @param $seekPosition Seek position in file
- * @param $whence "Seek mode" (see http://de.php.net/fseek)
- * @return $tatus Status of this operation
- */
- function seek ($seekPosition, $whence = SEEK_SET);
}
// [EOF]
parent::__destruct();
}
+ /**
+ * Initializes this file class
+ *
+ * @param $fileName Name of this abstract file
+ * @return void
+ */
+ protected function initFile ($fileName) {
+ // Get a file i/o pointer instance
+ $pointerInstance = ObjectFactory::createObjectByConfiguredName('file_raw_input_output_class', array($fileName));
+
+ // ... and set it here
+ $this->setPointerInstance($pointerInstance);
+ }
+
/**
* Close a file source and set it's instance to null and the file name
* to empty
public final function getFileName () {
return $this->fileName;
}
-
- /**
- * Determines seek position
- *
- * @return $seekPosition Current seek position
- * @todo 0% done
- */
- public final function determineSeekPosition () {
- $this->partialStub('Unfinished method.');
- }
-
- /**
- * 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
- * @todo 0% done
- */
- public function seek ($offset, $whence = SEEK_SET) {
- $this->partialStub('Unfinished method.');
- }
-
- /**
- * Size of this file
- *
- * @return $size Size (in bytes) of file
- * @todo Handle seekStatus
- * @todo 0% done
- */
- public function size () {
- $this->partialStub('Unfinished method.');
- }
}
// [EOF]
* 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 IndexFile extends BaseFile implements SeekableWritableFileIterator {
+class IndexFile extends BaseFile implements InputOutputPointer {
/**
* Protected constructor
*
/**
* Creates an instance of this File class and prepares it for usage
*
+ * @param $fileName Name of the index file
* @return $fileInstance An instance of this File class
*/
- public final static function createIndexFile () {
+ public final static function createIndexFile ($fileName) {
// Get a new instance
$fileInstance = new IndexFile();
+ // Init this abstract file
+ $fileInstance->initFile($fileName);
+
// Return the prepared instance
return $fileInstance;
}
+
+ /**
+ * Determines seek position
+ *
+ * @return $seekPosition Current seek position
+ * @todo 0% done
+ */
+ public final function determineSeekPosition () {
+ $this->partialStub('Unfinished method.');
+ }
+
+ /**
+ * 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
+ * @todo 0% done
+ */
+ public function seek ($offset, $whence = SEEK_SET) {
+ $this->partialStub('Unfinished method.');
+ }
+
+ /**
+ * Size of this file
+ *
+ * @return $size Size (in bytes) of file
+ * @todo Handle seekStatus
+ * @todo 0% done
+ */
+ public function size () {
+ $this->partialStub('Unfinished method.');
+ }
+
+ /**
+ * Read data a file pointer
+ *
+ * @return mixed The result of fread()
+ * @throws NullPointerException If the file pointer instance
+ * is not set by setPointer()
+ * @throws InvalidResourceException If there is being set
+ */
+ public function readFromFile () {
+ $this->partialStub('Unfinished method.');
+ }
+
+ /**
+ * Reads given amount of bytes from file.
+ *
+ * @param $bytes Amount of bytes to read
+ * @return $data Data read from file
+ */
+ public function read ($bytes) {
+ $this->partialStub('bytes=' . $bytes);
+ }
+
+ /**
+ * Write data to a file pointer
+ *
+ * @param $dataStream The data stream we shall write to the file
+ * @return mixed Number of writes bytes or FALSE on error
+ * @throws NullPointerException If the file pointer instance
+ * is not set by setPointer()
+ * @throws InvalidResourceException If there is being set
+ * an invalid file resource
+ */
+ public function writeToFile ($dataStream) {
+ $this->partialStub('dataStream=' . $dataStream);
+ }
+
+ /**
+ * Rewinds to the beginning of the file
+ *
+ * @return $status Status of this operation
+ */
+ public function rewind () {
+ $this->partialStub('Unfinished method.');
+ }
}
// [EOF]
* 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 StackFile extends BaseFile implements SeekableWritableFileIterator {
+class StackFile extends BaseFile implements InputOutputPointer {
/**
* Protected constructor
*
/**
* Creates an instance of this File class and prepares it for usage
*
+ * @param $fileName Name of the stack file
* @return $fileInstance An instance of this File class
*/
- public final static function createStackFile () {
+ public final static function createStackFile ($fileName) {
// Get a new instance
$fileInstance = new StackFile();
+ // Init this abstract file
+ $fileInstance->initFile($fileName);
+
// Return the prepared instance
return $fileInstance;
}
+
+ /**
+ * Determines seek position
+ *
+ * @return $seekPosition Current seek position
+ * @todo 0% done
+ */
+ public final function determineSeekPosition () {
+ $this->partialStub('Unfinished method.');
+ }
+
+ /**
+ * 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
+ * @todo 0% done
+ */
+ public function seek ($offset, $whence = SEEK_SET) {
+ $this->partialStub('Unfinished method.');
+ }
+
+ /**
+ * Size of this file
+ *
+ * @return $size Size (in bytes) of file
+ * @todo Handle seekStatus
+ * @todo 0% done
+ */
+ public function size () {
+ $this->partialStub('Unfinished method.');
+ }
+
+ /**
+ * Read data a file pointer
+ *
+ * @return mixed The result of fread()
+ * @throws NullPointerException If the file pointer instance
+ * is not set by setPointer()
+ * @throws InvalidResourceException If there is being set
+ */
+ public function readFromFile () {
+ $this->partialStub('Unfinished method.');
+ }
+
+ /**
+ * Reads given amount of bytes from file.
+ *
+ * @param $bytes Amount of bytes to read
+ * @return $data Data read from file
+ */
+ public function read ($bytes) {
+ $this->partialStub('bytes=' . $bytes);
+ }
+
+ /**
+ * Write data to a file pointer
+ *
+ * @param $dataStream The data stream we shall write to the file
+ * @return mixed Number of writes bytes or FALSE on error
+ * @throws NullPointerException If the file pointer instance
+ * is not set by setPointer()
+ * @throws InvalidResourceException If there is being set
+ * an invalid file resource
+ */
+ public function writeToFile ($dataStream) {
+ $this->partialStub('dataStream=' . $dataStream);
+ }
+
+ /**
+ * Rewinds to the beginning of the file
+ *
+ * @return $status Status of this operation
+ */
+ public function rewind () {
+ $this->partialStub('Unfinished method.');
+ }
}
// [EOF]
* @todo Currently the stack file is not cached, please implement a memory-handling class and if enough RAM is found, cache the whole stack file.
*/
protected function initFileStack ($fileName, $type) {
- // Get a file i/o pointer instance for stack file
+ // Get a stack file instance
$fileInstance = ObjectFactory::createObjectByConfiguredName('stack_file_class', array($fileName));
// Get iterator instance