From 20a7b9c062a5651eaf44b3b2712a087f3b206aaa Mon Sep 17 00:00:00 2001
From: =?utf8?q?Roland=20H=C3=A4der?= <roland@mxchange.org>
Date: Sat, 5 Mar 2011 14:32:35 +0000
Subject: [PATCH] Before previous commit I was about to write only a 'test'
 cruncher, now this will be our real first cruncher application, more may
 follow, if the time is right

---
 .gitattributes                                |  1 +
 application/hub/config.php                    |  4 +-
 .../cruncher/test/class_HubMcryptCruncher.php | 87 +++++++++++++++++++
 .../cruncher/test/class_HubTestCruncher.php   | 86 +-----------------
 docs/README                                   | 14 +++
 5 files changed, 105 insertions(+), 87 deletions(-)
 create mode 100644 application/hub/main/cruncher/test/class_HubMcryptCruncher.php

diff --git a/.gitattributes b/.gitattributes
index bba3e9157..dd6d693f7 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -139,6 +139,7 @@ application/hub/main/cruncher/.htaccess svneol=native#text/plain
 application/hub/main/cruncher/class_ -text
 application/hub/main/cruncher/class_BaseHubCruncher.php svneol=native#text/plain
 application/hub/main/cruncher/test/.htaccess svneol=native#text/plain
+application/hub/main/cruncher/test/class_HubMcryptCruncher.php svneol=native#text/plain
 application/hub/main/cruncher/test/class_HubTestCruncher.php svneol=native#text/plain
 application/hub/main/database/.htaccess -text svneol=unset#text/plain
 application/hub/main/database/wrapper/.htaccess -text svneol=unset#text/plain
diff --git a/application/hub/config.php b/application/hub/config.php
index e8c9ac6b6..c18e59d03 100644
--- a/application/hub/config.php
+++ b/application/hub/config.php
@@ -42,8 +42,8 @@ $cfg->setConfigEntry('boot_node_udp_listen_port', 9061);
 // CFG: NODE-DEFAULT-MODE (can be 'regular', 'list', 'master' or 'boot', default is 'regular')
 $cfg->setConfigEntry('node_default_mode', 'regular');
 
-// CFG: CRUNCHER-DEFAULT-MODE (can be 'test' at the moment)
-$cfg->setConfigEntry('cruncher_default_mode', 'test');
+// CFG: CRUNCHER-DEFAULT-MODE (can be 'mcrypt' at the moment)
+$cfg->setConfigEntry('cruncher_default_mode', 'mcrypt');
 
 // CFG: TEMPLATE-ENGINE
 $cfg->setConfigEntry('tpl_engine', 'ConsoleOutput');
diff --git a/application/hub/main/cruncher/test/class_HubMcryptCruncher.php b/application/hub/main/cruncher/test/class_HubMcryptCruncher.php
new file mode 100644
index 000000000..2ccebd716
--- /dev/null
+++ b/application/hub/main/cruncher/test/class_HubMcryptCruncher.php
@@ -0,0 +1,87 @@
+<?php
+/**
+ * A hub-cruncher class for the 'Cruncher' mode
+ *
+ * @author		Roland Haeder <webmaster@ship-simu.org>
+ * @version		0.0.0
+ * @copyright	Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2011 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 <http://www.gnu.org/licenses/>.
+ */
+class HubMcryptCruncher extends BaseHubCruncher implements CruncherHelper, Registerable {
+	/**
+	 * Protected constructor
+	 *
+	 * @return	void
+	 */
+	protected function __construct () {
+		// Call parent constructor
+		parent::__construct(__CLASS__);
+	}
+
+	/**
+	 * Creates an instance of this hub-cruncher class
+	 *
+	 * @param	$requestInstance	An instance of a Requestable class
+	 * @return	$cruncherInstance		An instance of this hub-cruncher class
+	 */
+	public final static function createHubMcryptCruncher (Requestable $requestInstance) {
+		// Get a new instance
+		$cruncherInstance = new HubMcryptCruncher();
+
+		// Set the request instance
+		$cruncherInstance->setRequestInstance($requestInstance);
+
+		// Return the instance
+		return $cruncherInstance;
+	}
+
+	/**
+	 * Method to "bootstrap" the cruncher. This step does also apply provided
+	 * command-line arguments stored in the request instance. The regular cruncher
+	 * should communicate with the bootstrap-crunchers at this point.
+	 *
+	 * @return	void
+	 * @todo	Implement this method
+	 */
+	public function doBootstrapping () {
+		// Call generic (parent) bootstrapping method first
+		parent::doGenericBootstrapping();
+		$this->partialStub('Please implement this method.');
+	}
+
+	/**
+	 * Outputs the console teaser. This should only be executed on startup or
+	 * full restarts. This method generates some space around the teaser.
+	 *
+	 * @return	void
+	 */
+	public function outputConsoleTeaser () {
+		$this->partialStub('Please implement this method.');
+	}
+
+	/**
+	 * Add some cruncher-specific filters
+	 *
+	 * @return	void
+	 */
+	public function addExtraHubFilters () {
+		// Add some filters here
+	}
+}
+
+// [EOF]
+?>
diff --git a/application/hub/main/cruncher/test/class_HubTestCruncher.php b/application/hub/main/cruncher/test/class_HubTestCruncher.php
index e9929fed8..f551ef47b 100644
--- a/application/hub/main/cruncher/test/class_HubTestCruncher.php
+++ b/application/hub/main/cruncher/test/class_HubTestCruncher.php
@@ -1,87 +1,3 @@
 <?php
-/**
- * A hub-cruncher class for the 'Cruncher' mode
- *
- * @author		Roland Haeder <webmaster@ship-simu.org>
- * @version		0.0.0
- * @copyright	Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2011 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 <http://www.gnu.org/licenses/>.
- */
-class HubTestCruncher extends BaseHubCruncher implements CruncherHelper, Registerable {
-	/**
-	 * Protected constructor
-	 *
-	 * @return	void
-	 */
-	protected function __construct () {
-		// Call parent constructor
-		parent::__construct(__CLASS__);
-	}
-
-	/**
-	 * Creates an instance of this hub-cruncher class
-	 *
-	 * @param	$requestInstance	An instance of a Requestable class
-	 * @return	$cruncherInstance		An instance of this hub-cruncher class
-	 */
-	public final static function createHubTestCruncher (Requestable $requestInstance) {
-		// Get a new instance
-		$cruncherInstance = new HubTestCruncher();
-
-		// Set the request instance
-		$cruncherInstance->setRequestInstance($requestInstance);
-
-		// Return the instance
-		return $cruncherInstance;
-	}
-
-	/**
-	 * Method to "bootstrap" the cruncher. This step does also apply provided
-	 * command-line arguments stored in the request instance. The regular cruncher
-	 * should communicate with the bootstrap-crunchers at this point.
-	 *
-	 * @return	void
-	 * @todo	Implement this method
-	 */
-	public function doBootstrapping () {
-		// Call generic (parent) bootstrapping method first
-		parent::doGenericBootstrapping();
-		$this->partialStub('Please implement this method.');
-	}
-
-	/**
-	 * Outputs the console teaser. This should only be executed on startup or
-	 * full restarts. This method generates some space around the teaser.
-	 *
-	 * @return	void
-	 */
-	public function outputConsoleTeaser () {
-		$this->partialStub('Please implement this method.');
-	}
-
-	/**
-	 * Add some cruncher-specific filters
-	 *
-	 * @return	void
-	 */
-	public function addExtraHubFilters () {
-		// Add some filters here
-	}
-}
-
-// [EOF]
+// @DEPRECATED
 ?>
diff --git a/docs/README b/docs/README
index fbc106758..71b387357 100644
--- a/docs/README
+++ b/docs/README
@@ -59,3 +59,17 @@ completely misleading.
 So if you have a really good ("selling") name, please send it to me:
 roland[at]mxchange[dot]org or webmaster[at]ship-simu[dot]org if you prefer
 webmaster accounts... ;-)
+
+--------------------------------------------------------------------------------
+4.) How to start the cruncher
+--------------------------------------------------------------------------------
+
+The cruncher is a test application (or mayber later used in a serious
+environment?) to find the right key for an encrypted message to decrypt it. It
+can be launched with this command:
+
+php index.php app=hub command=cruncher
+
+A producer application will follow which shall produce work units for the
+cruncher to work on. In the meanwhile the cruncher shall run test units which
+I will mainly use for development.
-- 
2.39.5