From: Roland Häder Date: Fri, 22 Feb 2013 07:51:21 +0000 (+0000) Subject: Added interface IoHandler X-Git-Url: https://git.mxchange.org/?p=core.git;a=commitdiff_plain;h=fd1d2d91ea940c74daf3e8e40c331f9306bc86c1 Added interface IoHandler --- diff --git a/.gitattributes b/.gitattributes index 1da6d331..6176f09f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -181,6 +181,7 @@ inc/classes/interfaces/helper/login/class_HelpableLogin.php svneol=native#text/p inc/classes/interfaces/helper/template/.htaccess svneol=native#text/plain inc/classes/interfaces/helper/template/class_HelpableTemplate.php svneol=native#text/plain inc/classes/interfaces/io/.htaccess svneol=native#text/plain +inc/classes/interfaces/io/class_IoHandler.php svneol=native#text/plain inc/classes/interfaces/io/class_Streamable.php svneol=native#text/plain inc/classes/interfaces/io/file/.htaccess svneol=native#text/plain inc/classes/interfaces/io/file/class_FileInputStreamer.php svneol=native#text/plain diff --git a/inc/classes/interfaces/io/class_IoHandler.php b/inc/classes/interfaces/io/class_IoHandler.php new file mode 100644 index 00000000..ce29db97 --- /dev/null +++ b/inc/classes/interfaces/io/class_IoHandler.php @@ -0,0 +1,74 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2012 Core Developer Team + * @license GNU GPL 3.0 or any newer version + * @link http://www.ship-simu.org + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +interface Streamable extends FrameworkInterface { + /** + * Setter for the *real* file input instance + * + * @param $inputStream The *real* file-input class + * @return void + */ + function setInputStream (FileInputStreamer $inputStream); + + /** + * Getter for the *real* file input instance + * + * @return $inputStream The *real* file-input class + */ + function getInputStream (); + + /** + * Setter for the *real* file output instance + * + * @param $outputStream The *real* file-output class + * @return void + */ + function setOutputStream (FileOutputStreamer $outputStream); + + /** + * Getter for the *real* file output instance + * + * @return $outputStream The *real* file-output class + */ + function getOutputStream (); + + /** + * Saves a file with data by using the current output stream + * + * @param $fileName Name of the file + * @param $dataStream File data stream + * @param $objectInstance An instance of a FrameworkInterface class (default: NULL) + * @return void + */ + function saveFile ($fileName, $dataStream, FrameworkInterface $objectInstance = NULL); + + /** Loads data from a file over the input handler + * + * @param $fqfn Given full-qualified file name (FQFN) to load + * @return $array Array with the file contents + */ + function loadFileContents ($fqfn); +} + +// [EOF] +?>