From 1295e7ab888e4ac1b7c1b92af58943e5dc72207b Mon Sep 17 00:00:00 2001
From: Roland Haeder <roland@mxchange.org>
Date: Mon, 23 Jun 2014 23:25:11 +0200
Subject: [PATCH] Also getSeekPosition() belongs here ... + TODOs.txt updated
 (--amend rocks!)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

Signed-off-by: Roland Häder <roland@mxchange.org>
---
 docs/TODOs.txt                                | 92 +++++++++++--------
 .../class_SeekableWritableFileIterator.php    |  7 ++
 .../binary/class_BaseBinaryFile.php           |  2 +-
 .../main/iterator/file/class_FileIterator.php | 10 ++
 4 files changed, 74 insertions(+), 37 deletions(-)

diff --git a/docs/TODOs.txt b/docs/TODOs.txt
index e4c3b81c..790159c1 100644
--- a/docs/TODOs.txt
+++ b/docs/TODOs.txt
@@ -3,16 +3,19 @@
 ./inc/classes/exceptions/main/class_MissingMethodException.php:13: * @todo		Try to rewrite user/guest login classes and mark this exception as deprecated
 ./inc/classes/exceptions/main/class_NoConfigEntryException.php:10: * @todo		Rename this class to NoFoundEntryException
 ./inc/classes/interfaces/class_FrameworkInterface.php:11: * @todo		Find a better name for this interface
-./inc/classes/main/class_BaseFrameworkSystem.php:1301:	 * @todo	Write a logging mechanism for productive mode
-./inc/classes/main/class_BaseFrameworkSystem.php:1315:			// @TODO Finish this part!
-./inc/classes/main/class_BaseFrameworkSystem.php:195:	// @todo Try to clean these constants up
-./inc/classes/main/class_BaseFrameworkSystem.php:465:	 * @todo	SearchableResult and UpdateableResult shall have a super interface to use here
+./inc/classes/interfaces/criteria/extended/class_LocalSearchCriteria.php:30:	 * @todo	Find a nice casting here. (int) allows until and including 32766.
+./inc/classes/interfaces/criteria/extended/class_LocalSearchCriteria.php:54:	 * @todo	Find a nice casting here. (int) allows until and including 32766.
+./inc/classes/main/class_BaseFrameworkSystem.php:1855:	 * @todo	Write a logging mechanism for productive mode
+./inc/classes/main/class_BaseFrameworkSystem.php:1870:			// @TODO Finish this part!
+./inc/classes/main/class_BaseFrameworkSystem.php:225:	// @todo Try to clean these constants up
+./inc/classes/main/class_BaseFrameworkSystem.php:450:		// @TODO __CLASS__ does always return BaseFrameworkSystem but not the extending (=child) class
+./inc/classes/main/class_BaseFrameworkSystem.php:524:	 * @todo	SearchableResult and UpdateableResult shall have a super interface to use here
 ./inc/classes/main/commands/web/class_WebLoginAreaCommand.php:64:	 * @todo	Add some stuff here: Some personal data, app/game related data
 ./inc/classes/main/commands/web/class_WebProblemCommand.php:58:	 * @todo	0% done
 ./inc/classes/main/commands/web/class_WebStatusCommand.php:58:	 * @todo	0% done
-./inc/classes/main/console/class_ConsoleTools.php:150:	 * @todo	This should be moved out to an external class, e.g. HttpClient
-./inc/classes/main/console/class_ConsoleTools.php:151:	 * @todo	Make IP, host name, port and script name configurable
-./inc/classes/main/console/class_ConsoleTools.php:158:		// @TODO Add some DNS caching here
+./inc/classes/main/console/class_ConsoleTools.php:268:	 * @todo	This should be moved out to an external class, e.g. HttpClient
+./inc/classes/main/console/class_ConsoleTools.php:269:	 * @todo	Make IP, host name, port and script name configurable
+./inc/classes/main/console/class_ConsoleTools.php:276:		// @TODO Add some DNS caching here
 ./inc/classes/main/console/class_ConsoleTools.php:45:	 * @todo	We should connect this to a caching class to cache DNS requests
 ./inc/classes/main/console/class_ConsoleTools.php:58:		// @TODO Here should the cacher be implemented
 ./inc/classes/main/controller/console/class_ConsoleDefaultController.php:10: * @todo		This controller shall still provide some headlines for sidebars
@@ -27,10 +30,17 @@
 ./inc/classes/main/controller/web/class_WebStatusController.php:10: * @todo		This controller shall still provide some headlines for sidebars
 ./inc/classes/main/criteria/search/class_SearchCriteria.php:102:	 * @todo	Find a nice casting here. (int) allows until and including 32766.
 ./inc/classes/main/criteria/search/class_SearchCriteria.php:70:	 * @todo	Find a nice casting here. (int) allows until and including 32766.
-./inc/classes/main/database/databases/class_LocalFileDatabase.php:331:	 * @todo	Do some checks on the database directory and files here
-./inc/classes/main/decorator/template/class_XmlRewriterTemplateDecorator.php:426:	 * @todo	Find something useful with this!
-./inc/classes/main/discovery/payment/class_LocalPaymentDiscovery.php:82:	 * @todo	0% done
-./inc/classes/main/filter/change/class_EmailChangeFilter.php:54:	 * @todo	Implement email change of the user here. HINT: Use the User class!
+./inc/classes/main/database/databases/class_LocalFileDatabase.php:327:	 * @todo	Do some checks on the database directory and files here
+./inc/classes/main/database/databases/class_LocalFileDatabase.php:605:	 * @todo	Add more generic non-public data for removal
+./inc/classes/main/decorator/template/class_XmlRewriterTemplateDecorator.php:427:	 * @todo	Find something useful with this!
+./inc/classes/main/discovery/payment/class_LocalPaymentDiscovery.php:85:	 * @todo	0% done
+./inc/classes/main/file_directories/class_BaseFileIo.php:162:	 * @todo	Handle seekStatus
+./inc/classes/main/file_directories/class_BaseFile.php:135:	 * @todo	~10% done?
+./inc/classes/main/file_directories/class_BaseFile.php:148:	 * @todo	Handle seekStatus
+./inc/classes/main/file_directories/directory/class_FrameworkDirectoryPointer.php:68:	 * @todo	Get rid of inConstructor, could be old-lost code.
+./inc/classes/main/file_directories/io_stream/class_FileIoStream.php:270:	 * @todo	0% done
+./inc/classes/main/file_directories/io_stream/class_FileIoStream.php:74:	 * @todo	This method needs heavy rewrite
+./inc/classes/main/filter/change/class_EmailChangeFilter.php:55:	 * @todo	Implement email change of the user here. HINT: Use the User class!
 ./inc/classes/main/filter/change/class_PasswordChangeFilter.php:55:	 * @todo	Finished updating user password hash here. HINT: Use the User class again.
 ./inc/classes/main/filter/news/class_NewsProcessFilter.php:55:	 * @todo	Unfinished stub, add functionality here
 ./inc/classes/main/filter/payment/class_PaymentDiscoveryFilter.php:97:	 * @todo	0% done
@@ -53,8 +63,8 @@
 ./inc/classes/main/images/class_BaseImage.php:234:	 * @todo	Find something usefull for this method.
 ./inc/classes/main/images/class_BaseImage.php:245:	 * @todo	Find something usefull for this method.
 ./inc/classes/main/images/class_BaseImage.php:255:	 * @todo	Find something usefull for this method.
-./inc/classes/main/io/class_FileIoStream.php:74:	 * @todo	This method needs heavy rewrite
-./inc/classes/main/mailer/class_BaseMailer.php:60:		// @TODO This needs testing/fixes because the deprecated method
+./inc/classes/main/index/class_BaseIndex.php:135:	 * @todo	Currently the index file is not cached, please implement a memory-handling class and if enough RAM is found, cache the whole index file.
+./inc/classes/main/mailer/class_BaseMailer.php:55:		// @TODO This needs testing/fixes because the deprecated method
 ./inc/classes/main/mailer/debug/class_DebugMailer.php:124:	 * @todo	0% done
 ./inc/classes/main/menu/class_BaseMenu.php:59:			// @TODO Should we log it here? We should, because it will be silently ignored.
 ./inc/classes/main/output/class_ConsoleOutput.php:56:		// @TODO Need to rewrite this to $requestInstance->addHeader()
@@ -70,17 +80,19 @@
 ./inc/classes/main/response/image/class_ImageResponse.php:89:	 * @todo	Why are these parameters conflicting?
 ./inc/classes/main/response/image/class_ImageResponse.php:90:	 * @todo	If the return statement is removed and setcookie() commented out,
 ./inc/classes/main/response/image/class_ImageResponse.php:91:	 * @todo	this will send only one cookie out, the first one.
-./inc/classes/main/result/class_DatabaseResult.php:229:	 * @todo	0% done
-./inc/classes/main/result/class_DatabaseResult.php:382:4	 * @todo	Find a caching way without modifying the result array
-./inc/classes/main/rng/class_RandomNumberGenerator.php:161:	 * @todo	I had a better random number generator here but now it is somewhere lost :(
-./inc/classes/main/rng/class_RandomNumberGenerator.php:83:	 * @todo	Add site key for stronger salt!
-./inc/classes/main/template/class_BaseTemplateEngine.php:1055:			// @TODO This silent abort should be logged, maybe.
-./inc/classes/main/template/class_BaseTemplateEngine.php:1063:			// @TODO Old behaviour, will become obsolete!
-./inc/classes/main/template/class_BaseTemplateEngine.php:1066:			// @TODO Yet another old way
-./inc/classes/main/template/class_BaseTemplateEngine.php:1132:			// @TODO This silent abort should be logged, maybe.
-./inc/classes/main/template/class_BaseTemplateEngine.php:1153:	 * @todo	Make this code some nicer...
-./inc/classes/main/template/class_BaseTemplateEngine.php:961:	 * @todo	Unfinished work or don't die here.
-./inc/classes/main/template/class_BaseTemplateEngine.php:978:				// @TODO Non-string found so we need some deeper analysis...
+./inc/classes/main/result/class_DatabaseResult.php:239:	 * @todo	0% done
+./inc/classes/main/result/class_DatabaseResult.php:393:	 * @todo	Find a caching way without modifying the result array
+./inc/classes/main/rng/class_RandomNumberGenerator.php:175:	 * @todo	I had a better random number generator here but now it is somewhere lost :(
+./inc/classes/main/rng/class_RandomNumberGenerator.php:97:	 * @todo	Add site key for stronger salt!
+./inc/classes/main/stacker/file/class_BaseFileStack.php:147:	 * @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.
+./inc/classes/main/stacker/file/class_BaseFileStack.php:309:		// @TODO Please implement this, returning FALSE
+./inc/classes/main/stacker/file/class_BaseFileStack.php:45:	 * @todo	To hard assertions here, better rewrite them to exceptions
+./inc/classes/main/template/class_BaseTemplateEngine.php:1070:			// @TODO This silent abort should be logged, maybe.
+./inc/classes/main/template/class_BaseTemplateEngine.php:1078:			// @TODO Old behaviour, will become obsolete!
+./inc/classes/main/template/class_BaseTemplateEngine.php:1081:			// @TODO Yet another old way
+./inc/classes/main/template/class_BaseTemplateEngine.php:1289:	 * @todo	Make this code some nicer...
+./inc/classes/main/template/class_BaseTemplateEngine.php:967:	 * @todo	Unfinished work or don't die here.
+./inc/classes/main/template/class_BaseTemplateEngine.php:992:				// @TODO Non-string found so we need some deeper analysis...
 ./inc/classes/main/template/console/class_ConsoleTemplateEngine.php:10: * @todo		This template engine does not make use of setTemplateType()
 ./inc/classes/main/template/image/class_ImageTemplateEngine.php:215:	 * @todo	Find something usefull with this!
 ./inc/classes/main/template/image/class_ImageTemplateEngine.php:235:	 * @todo	Add cache creation here
@@ -93,23 +105,31 @@
 ./inc/classes/main/user/class_BaseUser.php:308:	 * @todo	Try to make this method more generic so we can move it in BaseFrameworkSystem
 ./inc/classes/main/user/class_BaseUser.php:80:	 * @todo	Find a way of casting here. "(int)" might destroy the user id > 32766
 ./inc/classes/main/user/member/class_Member.php:84:	 * @todo	Add more ways over creating user classes
-./inc/classes/middleware/debug/class_DebugMiddleware.php:112:			// @TODO Initialization phase
-./inc/classes.php:10: * @todo		We should minimize these includes
-./inc/config/class_FrameworkConfiguration.php:175:	 * @todo	We have to add some more entries from $_SERVER here
-./inc/database.php:11: * @todo		We should minimize these includes
+./inc/classes/middleware/compressor/class_CompressorChannel.php:100:			// @TODO Is there a configurable fall-back compressor needed, or is NullCompressor okay?
+./inc/classes/middleware/debug/class_DebugMiddleware.php:113:			// @TODO Initialization phase
+./inc/classes/middleware/io/class_FileIoHandler.php:174:	 * @todo	0% done
+./inc/classes.php:10: * @todo		Minimize these includes
+./inc/classes/third_party/api/wernisportal/class_WernisApi.php:10: * @todo		Out-dated since 0.6-BETA
+./inc/config/class_FrameworkConfiguration.php:115:	 * @todo	This method encapsulates a deprecated PHP function and should be deprecated, too.
+./inc/config/class_FrameworkConfiguration.php:223:	 * @todo	We have to add some more entries from $_SERVER here
+./inc/database.php:11: * @todo		Minimize these includes
 ./inc/database.php:51:// @TODO Rewrite this
-./inc/hooks.php:11: * @todo		We should minimize these includes
-./inc/hooks.php:28:// @TODO This makes the core depending on the SPL. But it should be installed anyway.
-./inc/includes.php:11: * @todo		We should minimize these includes
-./inc/includes.php:38:// @TODO Find a nicer OOP-ed way for this
-./inc/loader/class_ClassLoader.php:273:			/* @todo: Do not die here. */
-./inc/output.php:11: * @todo		We should minimize these includes
-./inc/selector.php:11: * @todo		We should minimize these includes
+./inc/includes.php:11: * @todo		Minimize these includes
+./inc/includes.php:37:// @TODO This makes the core depending on the SPL. But it should be installed anyway.
+./inc/includes.php:41:// @TODO Find a nicer OOP-ed way for this
+./inc/loader/class_ClassLoader.php:321:			/* @todo: Do not die here. */
+./inc/output.php:11: * @todo		Minimize these includes
+./inc/selector.php:11: * @todo		Minimize these includes
 ### ### DEPRECATION FOLLOWS: ### ###
 ./inc/classes/exceptions/main/class_MissingMethodException.php:14: * @deprecated	Please do no longer use this exception
+./inc/classes/interfaces/database/backend/class_DatabaseFrontendInterface.php:2:// @DEPRECATED
+./inc/classes/interfaces/database/frontend/class_DatabaseFrontendInterface.php:2:// @DEPRECATED
+./inc/classes/main/database/class_BaseDatabaseFrontend.php:2:// @DEPRECATED
+./inc/classes/main/handler/class_BaseHandler.php:2:// @DEPRECATED
+./inc/classes/main/handler/raw_data/class_BaseRawDataHandler.php:2:// @DEPRECATED
 ./inc/classes.php:9: * @deprecated
 ./inc/database.php:10: * @deprecated
-./inc/hooks.php:10: * @deprecated
+./inc/hooks.php:2:// @DEPRECATED
 ./inc/includes.php:10: * @deprecated
 ./inc/output.php:10: * @deprecated
 ./inc/selector.php:10: * @deprecated
diff --git a/inc/classes/interfaces/iterator/class_SeekableWritableFileIterator.php b/inc/classes/interfaces/iterator/class_SeekableWritableFileIterator.php
index 7ed07331..d5f7c192 100644
--- a/inc/classes/interfaces/iterator/class_SeekableWritableFileIterator.php
+++ b/inc/classes/interfaces/iterator/class_SeekableWritableFileIterator.php
@@ -147,6 +147,13 @@ interface SeekableWritableFileIterator extends SeekableIterator {
 	 * @return	void
 	 */
 	function writeData ($seekPosition, $data, $flushHeader = TRUE);
+
+	/**
+	 * Getter for seek position
+	 *
+	 * @return	$seekPosition	Current seek position (stored here in object)
+	 */
+	function getSeekPosition ();
 }
 
 // [EOF]
diff --git a/inc/classes/main/file_directories/binary/class_BaseBinaryFile.php b/inc/classes/main/file_directories/binary/class_BaseBinaryFile.php
index 4c46dca0..a5b6cc97 100644
--- a/inc/classes/main/file_directories/binary/class_BaseBinaryFile.php
+++ b/inc/classes/main/file_directories/binary/class_BaseBinaryFile.php
@@ -225,7 +225,7 @@ class BaseBinaryFile extends BaseFile {
 	 *
 	 * @return	$seekPosition	Current seek position (stored here in object)
 	 */
-	protected final function getSeekPosition () {
+	public final function getSeekPosition () {
 		// Get it
 		return $this->seekPosition;
 	}
diff --git a/inc/classes/main/iterator/file/class_FileIterator.php b/inc/classes/main/iterator/file/class_FileIterator.php
index e0c4b3dc..30309756 100644
--- a/inc/classes/main/iterator/file/class_FileIterator.php
+++ b/inc/classes/main/iterator/file/class_FileIterator.php
@@ -276,6 +276,16 @@ class FileIterator extends BaseIterator implements SeekableWritableFileIterator
 		// Call block instance
 		$this->getBlockInstance()->writeData($seekPosition, $data, $flushHeader);
 	}
+
+	/**
+	 * Getter for seek position
+	 *
+	 * @return	$seekPosition	Current seek position (stored here in object)
+	 */
+	public function getSeekPosition () {
+		// Call block instance
+		return $this->getBlockInstance()->getSeekPosition();
+	}
 }
 
 // [EOF]
-- 
2.39.5