application/hub/main/factories/chain/class_PackageFilterChainFactory.php svneol=native#text/plain
application/hub/main/factories/chunks/.htaccess -text svneol=unset#text/plain
application/hub/main/factories/chunks/class_ChunkHandlerFactory.php svneol=native#text/plain
+application/hub/main/factories/class_ svneol=native#text/plain
+application/hub/main/factories/dht/.htaccess -text svneol=unset#text/plain
+application/hub/main/factories/dht/class_DhtObjectFactory.php svneol=native#text/plain
application/hub/main/factories/discovery/.htaccess -text svneol=unset#text/plain
application/hub/main/factories/discovery/class_PackageDiscoveryFactory.php svneol=native#text/plain
application/hub/main/factories/discovery/class_SocketDiscoveryFactory.php svneol=native#text/plain
// @TODO This is very static, rewrite it to more flexible
$cfg->setConfigEntry('package_recipient_max_count', 3);
+// CFG: NODE-DHT-CLASS
+$cfg->setConfigEntry('node_dht_class', 'NodeDhtFacade');
+
///////////////////////////////////////////////////////////////////////////////
// Peer states
///////////////////////////////////////////////////////////////////////////////
--- /dev/null
+<?php
+/**
+ * A factory class for !!!
+ *
+ * @author Roland Haeder <webmaster@ship-simu.org>
+ * @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 <http://www.gnu.org/licenses/>.
+ */
+class ???Factory extends ObjectFactory {
+ /**
+ * Protected constructor
+ *
+ * @return void
+ */
+ protected function __construct () {
+ // Call parent constructor
+ parent::__construct(__CLASS__);
+ }
+
+ /**
+ * Returns a singleton (registry-based) !!! instance
+ *
+ * @return $handlerInstance An instance of a !!! class
+ */
+ public static final function create???Instance () {
+ // If there is no handler?
+ if (Registry::getRegistry()->instanceExists('|||')) {
+ // Get handler from registry
+ $handlerInstance = Registry::getRegistry()->getInstance('|||');
+ } else {
+ // Get the handler instance
+ $handlerInstance = self::createObjectByConfiguredName('|||_class');
+
+ // Add it to the registry
+ Registry::getRegistry()->addInstance('|||', $handlerInstance);
+ }
+
+ // Return the instance
+ return $handlerInstance;
+ }
+}
+
+// [EOF]
+?>
--- /dev/null
+Deny from all
--- /dev/null
+<?php
+/**
+ * A factory class for DHT objects
+ *
+ * @author Roland Haeder <webmaster@ship-simu.org>
+ * @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 <http://www.gnu.org/licenses/>.
+ */
+class DhtObjectFactory extends ObjectFactory {
+ /**
+ * Protected constructor
+ *
+ * @return void
+ */
+ protected function __construct () {
+ // Call parent constructor
+ parent::__construct(__CLASS__);
+ }
+
+ /**
+ * Returns a singleton (registry-based) DHT object instance
+ *
+ * @param $nodeInstance An instance of a NodeHelper class
+ * @return $dhtInstance An instance of a DHT object class
+ */
+ public static final function createDhtObjectInstance (NodeHelper $nodeInstance) {
+ // If there is no handler?
+ if (Registry::getRegistry()->instanceExists('node_dht')) {
+ // Get handler from registry
+ $dhtInstance = Registry::getRegistry()->getInstance('node_dht');
+ } else {
+ // Get the handler instance
+ $dhtInstance = self::createObjectByConfiguredName('node_dht_class');
+
+ // Add it to the registry
+ Registry::getRegistry()->addInstance('node_dht', $dhtInstance);
+ }
+
+ // Set node instance in DHT instance
+ $dhtInstance->setNodeInstance($nodeInstance);
+
+ // Return the instance
+ return $dhtInstance;
+ }
+}
+
+// [EOF]
+?>
// Is must not be NULL (then it can only be a template instance)
assert(!is_null($entriesInstance));
+ // Get DHT instance
+ $dhtInstance = DhtObjectFactory::createDhtInstance($nodeInstance);
+
// Render the XML content
$templateInstance->renderXmlContent();
}