X-Git-Url: https://git.mxchange.org/?p=hub.git;a=blobdiff_plain;f=application%2Fhub%2Fmain%2Fstates%2Fdht%2Fclass_BaseDhtState.php;h=44e0b5584ffe60c00aa8a540bb0ea810fb169d6b;hp=f9edc47ee1f4c578d1bac9632c69d0cf13255bfb;hb=73aff29b9bc78031853b0b8c0fe0a8e04f66ac29;hpb=dfa91e1b5e2d0a3f68c133b3bec4fcb34e5e9c96 diff --git a/application/hub/main/states/dht/class_BaseDhtState.php b/application/hub/main/states/dht/class_BaseDhtState.php index f9edc47ee..44e0b5584 100644 --- a/application/hub/main/states/dht/class_BaseDhtState.php +++ b/application/hub/main/states/dht/class_BaseDhtState.php @@ -4,9 +4,10 @@ * * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2012 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.shipsimu.org + * @todo Create generic DHT interface * * 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 @@ -38,15 +39,29 @@ class BaseDhtState extends BaseState { * is every other state. * * @return void - * @throws InvalidStateException If the state is not 'virgin' + * @throws UnexpectedStateException If the state is not 'virgin' */ - public function validateDhtStateIsVirgin () { + public function validateDhtStateIsVirginOrInit () { // Just compare it... - if (!$this instanceof DhtVirginState) { + if ((!$this instanceof DhtVirginState) && (!$this instanceof DhtInitState)) { // Throw the exception - throw new InvalidStateException($this, self::EXCEPTION_INVALID_STATE); + throw new UnexpectedStateException($this, self::EXCEPTION_INVALID_STATE); } // END - if } + + /** + * Checks whether the DHT's state is 'booting' by comparing it with the + * state's class name. + * + * @return $isBooting Whether this DHT's state is 'booting' + */ + public function ifDhtIsBooting () { + // Check state + $isBooting = ($this instanceof DhtBootingState); + + // Return status + return $isBooting; + } } // [EOF]