From 801ade78e61ac7771ada1268a3bb5e6e5c1326ff Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Tue, 13 May 2014 23:09:09 +0200 Subject: [PATCH] Continued with file-based stacks: - added first draft of file-based stacks (hash sums are missing) - added initial base class and stub for file-based stacks - ignored chash.pos (file created by chash.php) - ignored any backup files (*.*~) MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Roland Häder --- .gitignore | 2 + contrib/file_stack/format.txt | 20 ++++++++ inc/classes/main/file_stack/.htaccess | 1 + inc/classes/main/file_stack/class_ | 50 +++++++++++++++++++ .../main/file_stack/class_BaseFileStack.php | 38 ++++++++++++++ 5 files changed, 111 insertions(+) create mode 100644 contrib/file_stack/format.txt create mode 100644 inc/classes/main/file_stack/.htaccess create mode 100644 inc/classes/main/file_stack/class_ create mode 100644 inc/classes/main/file_stack/class_BaseFileStack.php diff --git a/.gitignore b/.gitignore index fd0d0d9f..e4688a2d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +contrib/chash/chash.pos contrib/lfdb2/*.bin* contrib/lfdb2/*.out* contrib/mindmaps/*.png @@ -6,3 +7,4 @@ inc/config/config-local.php /nbproject templates/_compiled/*.* templates/images/_cache/*.* +*.*~ diff --git a/contrib/file_stack/format.txt b/contrib/file_stack/format.txt new file mode 100644 index 00000000..12c18863 --- /dev/null +++ b/contrib/file_stack/format.txt @@ -0,0 +1,20 @@ +A file-based stack: +=================== + +This is the format for a file-based stack which works as any Stackable class. + +General made up: + +Purpose: | "magic" | separator | count | position | separator | +---------+-----------+-----------+----------+---------------+-----------+ +Bytes: | 9 | 1 | 20 (hex) | 2 - n^2 (hex) | 1 | +---------+-----------+-----------+----------+---------------+-----------+ +Example: | STACKv1.0 | ??? | 0...ff | 01 | ??? | + +Continued: + +Purpose: | name 0 | entry 0 | separator | name 1 | entry 1 | separator | name n | entry n | EOF | +---------+--------+------------+-----------+--------+------------+-----------+--------+------------+-----+ +Bytes: | 10 | 1-n (pack) | 1 | 10 | 1-n (pack) | 1 | 10 | 1-n (pack) | 1 | +---------+--------+------------+-----------+--------+------------+-----------+--------+------------+-----+ +Example: | foo | ... | ??? | bar | ... | ??? | bar | ... | EOF | diff --git a/inc/classes/main/file_stack/.htaccess b/inc/classes/main/file_stack/.htaccess new file mode 100644 index 00000000..3a428827 --- /dev/null +++ b/inc/classes/main/file_stack/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/inc/classes/main/file_stack/class_ b/inc/classes/main/file_stack/class_ new file mode 100644 index 00000000..b3359656 --- /dev/null +++ b/inc/classes/main/file_stack/class_ @@ -0,0 +1,50 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2014 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 . + */ +class ???FileStack extends BaseFileStack implements Stackable { + /** + * Protected constructor + * + * @return void + */ + protected function __construct () { + // Call parent constructor + parent::__construct(__CLASS__); + } + + /** + * Creates an instance of this class + * + * @return $stackInstance An instance of a Stackable class + */ + public final static function create???FileStack () { + // Get new instance + $stackInstance = new ???FileStack(); + + // Return the prepared instance + return $stackInstance; + } +} + +// [EOF] +?> diff --git a/inc/classes/main/file_stack/class_BaseFileStack.php b/inc/classes/main/file_stack/class_BaseFileStack.php new file mode 100644 index 00000000..7c4c91e5 --- /dev/null +++ b/inc/classes/main/file_stack/class_BaseFileStack.php @@ -0,0 +1,38 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2012 Hub 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 . + */ +class BaseFileStack extends BaseFrameworkSystem { + /** + * Protected constructor + * + * @param $className Name of the class + * @return void + */ + protected function __construct ($className) { + // Call parent constructor + parent::__construct($className); + } +} + +// [EOF] +?> -- 2.39.5