X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=application%2Fhub%2Fmain%2Fstates%2Fnode%2Factive%2Fclass_NodeActiveState.php;h=646e9fe68fef89b603d9ca02334976aedee72144;hb=5061be761f4d0c2bb9b1943d19f8ad55ff7170dd;hp=6dd80ce50a6d7772ab1a0f91c6736aab3f8e3513;hpb=623221e8b97d0bb7a044265ce7418d0fe7894712;p=hub.git diff --git a/application/hub/main/states/node/active/class_NodeActiveState.php b/application/hub/main/states/node/active/class_NodeActiveState.php index 6dd80ce50..646e9fe68 100644 --- a/application/hub/main/states/node/active/class_NodeActiveState.php +++ b/application/hub/main/states/node/active/class_NodeActiveState.php @@ -1,12 +1,12 @@ + * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009, 2010 Hub Developer Team + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Hub Developer Team * @license GNU GPL 3.0 or any newer version - * @link http://www.ship-simu.org + * @link http://www.shipsimu.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 @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class NodeActiveState extends BaseState implements NodeStateable { +class NodeActiveState extends BaseNodeState implements Stateable { /** * Protected constructor * @@ -39,14 +39,14 @@ class NodeActiveState extends BaseState implements NodeStateable { * Creates an instance of this class * * @param $nodeInstance An instance of a NodeHelper class - * @return $stateInstance An instance of a NodeStateable class + * @return $stateInstance An instance of a Stateable class */ - public final static function createNodeActiveState (NodeHelper $nodeInstance) { + public static final function createNodeActiveState (NodeHelper $nodeInstance) { // Get new instance $stateInstance = new NodeActiveState(); - // Debug message - $stateInstance->debugOutput("NODE-STATE: Has changed from " . $nodeInstance->getPrintableState() . " to " . $stateInstance->getStateName() . "."); + // Enable isActive flag in node instance + $nodeInstance->enableIsActive(); // Set the node instance $stateInstance->setNodeInstance($nodeInstance); @@ -54,6 +54,30 @@ class NodeActiveState extends BaseState implements NodeStateable { // Return the prepared instance return $stateInstance; } + + /** + * State change for if the node got announced to it's upper hubs + * + * @return void + */ + public function nodeAnnouncingToUpperHubs () { + // Create the new state instance + NodeStateFactory::createNodeStateInstanceByName('announcing', $this->getNodeInstance()); + } + + /** + * State change for if the node has just connected to itself and + * node/session id are both equal. The self-connect means that + * the node possibly reachable from outside. This may require + * confirmation by other peers. + * + * @return void + * @todo We might want to move some calls to this method to fill it with life + */ + public function nodeHasSelfConnected () { + // Create the new state instance + NodeStateFactory::createNodeStateInstanceByName('reachable', $this->getNodeInstance()); + } } // [EOF]