X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Fclass_BaseFrameworkSystem.php;h=214f2a9f68be77cbdb664148c6109567daa9f68e;hp=707f5600a6ae6b8bccfa74d914905939973003dd;hb=f40bcdcb63cb7aa74f5d75c50a5316810944b8eb;hpb=5ffe42efd591f1d84d65a93b2965cdf6931f9442 diff --git a/inc/classes/main/class_BaseFrameworkSystem.php b/inc/classes/main/class_BaseFrameworkSystem.php index 707f5600..214f2a9f 100644 --- a/inc/classes/main/class_BaseFrameworkSystem.php +++ b/inc/classes/main/class_BaseFrameworkSystem.php @@ -23,6 +23,26 @@ * along with this program. If not, see . */ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { + /** + * Separator for header data + */ + const SEPARATOR_HEADER_DATA = 0x01; + + /** + * Separator header->entries + */ + const SEPARATOR_HEADER_ENTRIES = 0x02; + + /** + * Separator hash->name + */ + const SEPARATOR_HASH_NAME = 0x03; + + /** + * Separator entry->entry + */ + const SEPARATOR_ENTRIES = 0x04; + /** * Length of count */ @@ -33,6 +53,11 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { */ const LENGTH_POSITION = 20; + /** + * Length of name + */ + const LENGTH_NAME = 10; + /** * The real class name */ @@ -2921,7 +2946,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * * @return $totalEntries Size of file header */ - protected final function getHeaderSize () { + public final function getHeaderSize () { // Get it return $this->headerSize; } @@ -3043,8 +3068,11 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { protected function isFileInitialized () { //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] CALLED!', __METHOD__, __LINE__)); + // size() must be callable + assert(is_callable(array($this, 'size'))); + // Get it from iterator which holds the pointer instance. If FALSE is returned - $fileSize = $this->getIteratorInstance()->size(); + $fileSize = $this->size(); //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] fileSize=%s', __METHOD__, __LINE__, $fileSize)); /* @@ -3188,6 +3216,29 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput(sprintf('[%s:%d:] EXIT!', __METHOD__, __LINE__)); } + + /** + * Checks whether the block separator has been found + * + * @param $str String to look in + * @return $isFound Whether the block separator has been found + */ + public function isBlockSeparatorFound ($str) { + // Determine it + $isFound = (strpos($str, self::getBlockSeparator()) !== FALSE); + + // Return result + return $isFound; + } + + /** + * Getter for block separator character(s) + * + * @return $blockSeparator A separator for blocks + */ + protected static final function getBlockSeparator () { + return chr(self::SEPARATOR_ENTRIES); + } } // [EOF]