From 4ac69171150e7668053ca2a528dfbfa4f594a11f Mon Sep 17 00:00:00 2001 From: Roland Haeder Date: Wed, 10 Jun 2015 20:22:55 +0200 Subject: [PATCH] Renamed many classes as they are only for the daemon + added a task which will expand the map. Signed-off-by: Roland Haeder --- application/city/config.php | 38 ++++++--- .../class_CityConsoleDaemonCommand.php | 14 ++-- .../filter/{city => city_daemon}/.htaccess | 0 .../class_CityDaemon} | 6 +- .../class_CityDaemonInitializationFilter.php} | 6 +- ...class_CityDaemonPhpRequirementsFilter.php} | 6 +- .../class_CityDaemonWelcomeTeaserFilter.php} | 6 +- ..._CityShutdown => class_CityDaemonShutdown} | 6 +- ...=> class_CityDaemonShutdownCityFilter.php} | 6 +- ...s_CityDaemonShutdownTaskHandlerFilter.php} | 6 +- .../task/{city => city_daemon}/.htaccess | 0 ...ityDaemonTaskHandlerInitializerFilter.php} | 12 +-- application/city/main/tasks/.htaccess | 1 + application/city/main/tasks/daemon/.htaccess | 1 + .../city/main/tasks/daemon/city_map/.htaccess | 1 + .../class_CityDaemonMapExpanderTask.php | 82 +++++++++++++++++++ .../city/main/tasks/daemon/class_CityDaemon | 82 +++++++++++++++++++ core | 2 +- 18 files changed, 227 insertions(+), 48 deletions(-) rename application/city/main/filter/{city => city_daemon}/.htaccess (100%) rename application/city/main/filter/{city/class_City => city_daemon/class_CityDaemon} (90%) rename application/city/main/filter/{city/class_CityInitializationFilter.php => city_daemon/class_CityDaemonInitializationFilter.php} (91%) rename application/city/main/filter/{city/class_CityPhpRequirementsFilter.php => city_daemon/class_CityDaemonPhpRequirementsFilter.php} (90%) rename application/city/main/filter/{city/class_CityWelcomeTeaserFilter.php => city_daemon/class_CityDaemonWelcomeTeaserFilter.php} (90%) rename application/city/main/filter/shutdown/city/{class_CityShutdown => class_CityDaemonShutdown} (90%) rename application/city/main/filter/shutdown/city/{class_CityShutdownCityFilter.php => class_CityDaemonShutdownCityFilter.php} (90%) rename application/city/main/filter/shutdown/city/{class_CityShutdownTaskHandlerFilter.php => class_CityDaemonShutdownTaskHandlerFilter.php} (89%) rename application/city/main/filter/task/{city => city_daemon}/.htaccess (100%) rename application/city/main/filter/task/{city/class_CityTaskHandlerInitializerFilter.php => city_daemon/class_CityDaemonTaskHandlerInitializerFilter.php} (83%) create mode 100644 application/city/main/tasks/.htaccess create mode 100644 application/city/main/tasks/daemon/.htaccess create mode 100644 application/city/main/tasks/daemon/city_map/.htaccess create mode 100644 application/city/main/tasks/daemon/city_map/class_CityDaemonMapExpanderTask.php create mode 100644 application/city/main/tasks/daemon/class_CityDaemon diff --git a/application/city/config.php b/application/city/config.php index 6487ec0..527502c 100644 --- a/application/city/config.php +++ b/application/city/config.php @@ -483,7 +483,7 @@ $cfg->setConfigEntry('region_manager_class', 'RegionManager'); $cfg->setConfigEntry('region_map_manager_class', 'RegionMapManager'); /****************************************************************************** - * Console client * + * Daemon * ******************************************************************************/ // CFG: DEFAULT-CONSOLE-COMMAND @@ -498,23 +498,23 @@ $cfg->setConfigEntry('default_city_console_controller', 'daemon'); // CFG: CITY-CONSOLE-CMD-DAEMON-RESOLVER-CLASS $cfg->setConfigEntry('city_console_cmd_daemon_resolver_class', 'CityConsoleCommandResolver'); -// CFG: CITY-PHP-REQUIREMENTS-FILTER -$cfg->setConfigEntry('city_php_requirements_filter', 'CityPhpRequirementsFilter'); +// CFG: CITY-DAEMON-PHP-REQUIREMENTS-FILTER +$cfg->setConfigEntry('city_daemon_php_requirements_filter', 'CityDaemonPhpRequirementsFilter'); -// CFG: CITY-INITIALIZER-FILTER -$cfg->setConfigEntry('city_initializer_filter', 'CityInitializationFilter'); +// CFG: CITY-DAEMON-INITIALIZER-FILTER +$cfg->setConfigEntry('city_daemon_initializer_filter', 'CityDaemonInitializationFilter'); -// CFG: CITY-ACTIVATION-TASK-HANDLER-INITIALIZER-FILTER -$cfg->setConfigEntry('city_activation_task_handler_initializer_filter', 'CityTaskHandlerInitializerFilter'); +// CFG: CITY-DAEMON-ACTIVATION-TASK-HANDLER-INITIALIZER-FILTER +$cfg->setConfigEntry('city_daemon_activation_task_handler_initializer_filter', 'CityDaemonTaskHandlerInitializerFilter'); -// CFG: CITY-WELCOME-TEASER-FILTER -$cfg->setConfigEntry('city_welcome_teaser_filter', 'CityWelcomeTeaserFilter'); +// CFG: CITY-DAEMON-WELCOME-TEASER-FILTER +$cfg->setConfigEntry('city_daemon_welcome_teaser_filter', 'CityDaemonWelcomeTeaserFilter'); -// CFG: CITY-SHUTDOWN-TASK-HANDLER-FILTER -$cfg->setConfigEntry('city_shutdown_task_handler_filter', 'CityShutdownTaskHandlerFilter'); +// CFG: CITY-DAEMON-SHUTDOWN-TASK-HANDLER-FILTER +$cfg->setConfigEntry('city_daemon_shutdown_task_handler_filter', 'CityDaemonShutdownTaskHandlerFilter'); -// CFG: CITY-SHUTDOWN-CITY-FILTER -$cfg->setConfigEntry('city_shutdown_city_filter', 'CityShutdownCityFilter'); +// CFG: CITY-DAEMON-SHUTDOWN-CITY-FILTER +$cfg->setConfigEntry('city_daemon_shutdown_city_filter', 'CityDaemonShutdownCityFilter'); // CFG: NEWS-READER-DAEMON-CLASS $cfg->setConfigEntry('news_reader_daemon_class', 'ConsoleNewsReader'); @@ -522,5 +522,17 @@ $cfg->setConfigEntry('news_reader_daemon_class', 'ConsoleNewsReader'); // CFG: NEWS-DAEMON-LIMIT $cfg->setConfigEntry('news_daemon_limit', 5); +// CFG: CITY-DAEMON-MAP-EXPANDER-TASK-CLASS +$cfg->setConfigEntry('city_daemon_map_expander_task_class', 'CityDaemonMapExpanderTask'); + +// CFG: TASK-MAP-EXPANDER-STARTUP-DELAY +$cfg->setConfigEntry('task_map_expander_startup_delay', 500); + +// CFG: TASK-MAP-EXPANDER-INTERVAL-DELAY +$cfg->setConfigEntry('task_map_expander_interval_delay', 100); + +// CFG: TASK-MAP-EXPANDER-MAX-RUNS +$cfg->setConfigEntry('task_map_expander_max_runs', 0); + // [EOF] ?> diff --git a/application/city/main/commands/console/class_CityConsoleDaemonCommand.php b/application/city/main/commands/console/class_CityConsoleDaemonCommand.php index 53b0ea2..4dfed6b 100644 --- a/application/city/main/commands/console/class_CityConsoleDaemonCommand.php +++ b/application/city/main/commands/console/class_CityConsoleDaemonCommand.php @@ -115,21 +115,21 @@ class CityConsoleDaemonCommand extends BaseCommand implements Commandable { */ public function addExtraFilters (Controller $controllerInstance, Requestable $requestInstance) { // Add pre filters - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('city_php_requirements_filter')); - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('city_initializer_filter')); - $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('city_welcome_teaser_filter')); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('city_daemon_php_requirements_filter')); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('city_daemon_initializer_filter')); + $controllerInstance->addPreFilter(ObjectFactory::createObjectByConfiguredName('city_daemon_welcome_teaser_filter')); // Add bootstrap filters - //$controllerInstance->addBootstrapFilter(ObjectFactory::createObjectByConfiguredName('city_bootstrap_generate_cityid_filter')); + //$controllerInstance->addBootstrapFilter(ObjectFactory::createObjectByConfiguredName('city_daemon_bootstrap_generate_cityid_filter')); // Add city activation filters - $controllerInstance->addActivationFilter(ObjectFactory::createObjectByConfiguredName('city_activation_task_handler_initializer_filter')); + $controllerInstance->addActivationFilter(ObjectFactory::createObjectByConfiguredName('city_daemon_activation_task_handler_initializer_filter')); // Add shutdown filters - $controllerInstance->addShutdownFilter(ObjectFactory::createObjectByConfiguredName('city_shutdown_task_handler_filter')); + $controllerInstance->addShutdownFilter(ObjectFactory::createObjectByConfiguredName('city_daemon_shutdown_task_handler_filter')); // This is the last generic shutdown filter - $controllerInstance->addShutdownFilter(ObjectFactory::createObjectByConfiguredName('city_shutdown_city_filter')); + $controllerInstance->addShutdownFilter(ObjectFactory::createObjectByConfiguredName('city_daemon_shutdown_city_filter')); } } diff --git a/application/city/main/filter/city/.htaccess b/application/city/main/filter/city_daemon/.htaccess similarity index 100% rename from application/city/main/filter/city/.htaccess rename to application/city/main/filter/city_daemon/.htaccess diff --git a/application/city/main/filter/city/class_City b/application/city/main/filter/city_daemon/class_CityDaemon similarity index 90% rename from application/city/main/filter/city/class_City rename to application/city/main/filter/city_daemon/class_CityDaemon index 75aa344..e5e2f4d 100644 --- a/application/city/main/filter/city/class_City +++ b/application/city/main/filter/city_daemon/class_CityDaemon @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class City???Filter extends BaseCityFilter implements Filterable { +class CityDaemon???Filter extends BaseCityFilter implements Filterable { /** * Protected constructor * @@ -37,9 +37,9 @@ class City???Filter extends BaseCityFilter implements Filterable { * * @return $filterInstance An instance of this filter class */ - public final static function createCity???Filter () { + public final static function createCityDaemon???Filter () { // Get a new instance - $filterInstance = new City???Filter(); + $filterInstance = new CityDaemon???Filter(); // Return the instance return $filterInstance; diff --git a/application/city/main/filter/city/class_CityInitializationFilter.php b/application/city/main/filter/city_daemon/class_CityDaemonInitializationFilter.php similarity index 91% rename from application/city/main/filter/city/class_CityInitializationFilter.php rename to application/city/main/filter/city_daemon/class_CityDaemonInitializationFilter.php index 9175586..73a78a0 100644 --- a/application/city/main/filter/city/class_CityInitializationFilter.php +++ b/application/city/main/filter/city_daemon/class_CityDaemonInitializationFilter.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class CityInitializationFilter extends BaseCityFilter implements Filterable { +class CityDaemonInitializationFilter extends BaseCityFilter implements Filterable { /** * Protected constructor * @@ -37,9 +37,9 @@ class CityInitializationFilter extends BaseCityFilter implements Filterable { * * @return $filterInstance An instance of this filter class */ - public static final function createCityInitializationFilter () { + public static final function createCityDaemonInitializationFilter () { // Get a new instance - $filterInstance = new CityInitializationFilter(); + $filterInstance = new CityDaemonInitializationFilter(); // Return the instance return $filterInstance; diff --git a/application/city/main/filter/city/class_CityPhpRequirementsFilter.php b/application/city/main/filter/city_daemon/class_CityDaemonPhpRequirementsFilter.php similarity index 90% rename from application/city/main/filter/city/class_CityPhpRequirementsFilter.php rename to application/city/main/filter/city_daemon/class_CityDaemonPhpRequirementsFilter.php index 307de6f..8ee57a4 100644 --- a/application/city/main/filter/city/class_CityPhpRequirementsFilter.php +++ b/application/city/main/filter/city_daemon/class_CityDaemonPhpRequirementsFilter.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class CityPhpRequirementsFilter extends BaseCityFilter implements Filterable { +class CityDaemonPhpRequirementsFilter extends BaseCityFilter implements Filterable { /** * Protected constructor * @@ -37,9 +37,9 @@ class CityPhpRequirementsFilter extends BaseCityFilter implements Filterable { * * @return $filterInstance An instance of this filter class */ - public static final function createCityPhpRequirementsFilter () { + public static final function createCityDaemonPhpRequirementsFilter () { // Get a new instance - $filterInstance = new CityPhpRequirementsFilter(); + $filterInstance = new CityDaemonPhpRequirementsFilter(); // Return the instance return $filterInstance; diff --git a/application/city/main/filter/city/class_CityWelcomeTeaserFilter.php b/application/city/main/filter/city_daemon/class_CityDaemonWelcomeTeaserFilter.php similarity index 90% rename from application/city/main/filter/city/class_CityWelcomeTeaserFilter.php rename to application/city/main/filter/city_daemon/class_CityDaemonWelcomeTeaserFilter.php index 8fc2917..936980c 100644 --- a/application/city/main/filter/city/class_CityWelcomeTeaserFilter.php +++ b/application/city/main/filter/city_daemon/class_CityDaemonWelcomeTeaserFilter.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class CityWelcomeTeaserFilter extends BaseCityFilter implements Filterable { +class CityDaemonWelcomeTeaserFilter extends BaseCityFilter implements Filterable { /** * Protected constructor * @@ -37,9 +37,9 @@ class CityWelcomeTeaserFilter extends BaseCityFilter implements Filterable { * * @return $filterInstance An instance of this filter class */ - public static final function createCityWelcomeTeaserFilter () { + public static final function createCityDaemonWelcomeTeaserFilter () { // Get a new instance - $filterInstance = new CityWelcomeTeaserFilter(); + $filterInstance = new CityDaemonWelcomeTeaserFilter(); // Return the instance return $filterInstance; diff --git a/application/city/main/filter/shutdown/city/class_CityShutdown b/application/city/main/filter/shutdown/city/class_CityDaemonShutdown similarity index 90% rename from application/city/main/filter/shutdown/city/class_CityShutdown rename to application/city/main/filter/shutdown/city/class_CityDaemonShutdown index 60201db..9ad60d4 100644 --- a/application/city/main/filter/shutdown/city/class_CityShutdown +++ b/application/city/main/filter/shutdown/city/class_CityDaemonShutdown @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class CityShutdown???Filter extends BaseCityFilter implements Filterable { +class CityDaemonShutdown???Filter extends BaseCityFilter implements Filterable { /** * Protected constructor * @@ -37,9 +37,9 @@ class CityShutdown???Filter extends BaseCityFilter implements Filterable { * * @return $filterInstance An instance of this filter class */ - public final static function createCityShutdown???Filter () { + public final static function createCityDaemonShutdown???Filter () { // Get a new instance - $filterInstance = new CityShutdown???Filter(); + $filterInstance = new CityDaemonShutdown???Filter(); // Return the instance return $filterInstance; diff --git a/application/city/main/filter/shutdown/city/class_CityShutdownCityFilter.php b/application/city/main/filter/shutdown/city/class_CityDaemonShutdownCityFilter.php similarity index 90% rename from application/city/main/filter/shutdown/city/class_CityShutdownCityFilter.php rename to application/city/main/filter/shutdown/city/class_CityDaemonShutdownCityFilter.php index 0b48c5a..624d2f2 100644 --- a/application/city/main/filter/shutdown/city/class_CityShutdownCityFilter.php +++ b/application/city/main/filter/shutdown/city/class_CityDaemonShutdownCityFilter.php @@ -23,7 +23,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class CityShutdownCityFilter extends BaseCityFilter implements Filterable { +class CityDaemonShutdownCityFilter extends BaseCityFilter implements Filterable { /** * Protected constructor * @@ -39,9 +39,9 @@ class CityShutdownCityFilter extends BaseCityFilter implements Filterable { * * @return $filterInstance An instance of this filter class */ - public static final function createCityShutdownCityFilter () { + public static final function createCityDaemonShutdownCityFilter () { // Get a new instance - $filterInstance = new CityShutdownCityFilter(); + $filterInstance = new CityDaemonShutdownCityFilter(); // Return the instance return $filterInstance; diff --git a/application/city/main/filter/shutdown/city/class_CityShutdownTaskHandlerFilter.php b/application/city/main/filter/shutdown/city/class_CityDaemonShutdownTaskHandlerFilter.php similarity index 89% rename from application/city/main/filter/shutdown/city/class_CityShutdownTaskHandlerFilter.php rename to application/city/main/filter/shutdown/city/class_CityDaemonShutdownTaskHandlerFilter.php index 18dfe61..a80fdae 100644 --- a/application/city/main/filter/shutdown/city/class_CityShutdownTaskHandlerFilter.php +++ b/application/city/main/filter/shutdown/city/class_CityDaemonShutdownTaskHandlerFilter.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class CityShutdownTaskHandlerFilter extends BaseCityFilter implements Filterable { +class CityDaemonShutdownTaskHandlerFilter extends BaseCityFilter implements Filterable { /** * Protected constructor * @@ -37,9 +37,9 @@ class CityShutdownTaskHandlerFilter extends BaseCityFilter implements Filterable * * @return $filterInstance An instance of this filter class */ - public static final function createCityShutdownTaskHandlerFilter () { + public static final function createCityDaemonShutdownTaskHandlerFilter () { // Get a new instance - $filterInstance = new CityShutdownTaskHandlerFilter(); + $filterInstance = new CityDaemonShutdownTaskHandlerFilter(); // Return the instance return $filterInstance; diff --git a/application/city/main/filter/task/city/.htaccess b/application/city/main/filter/task/city_daemon/.htaccess similarity index 100% rename from application/city/main/filter/task/city/.htaccess rename to application/city/main/filter/task/city_daemon/.htaccess diff --git a/application/city/main/filter/task/city/class_CityTaskHandlerInitializerFilter.php b/application/city/main/filter/task/city_daemon/class_CityDaemonTaskHandlerInitializerFilter.php similarity index 83% rename from application/city/main/filter/task/city/class_CityTaskHandlerInitializerFilter.php rename to application/city/main/filter/task/city_daemon/class_CityDaemonTaskHandlerInitializerFilter.php index 384421a..542aa27 100644 --- a/application/city/main/filter/task/city/class_CityTaskHandlerInitializerFilter.php +++ b/application/city/main/filter/task/city_daemon/class_CityDaemonTaskHandlerInitializerFilter.php @@ -21,7 +21,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -class CityTaskHandlerInitializerFilter extends BaseCityFilter implements Filterable { +class CityDaemonTaskHandlerInitializerFilter extends BaseCityFilter implements Filterable { /** * Protected constructor * @@ -37,9 +37,9 @@ class CityTaskHandlerInitializerFilter extends BaseCityFilter implements Filtera * * @return $filterInstance An instance of this filter class */ - public static final function createCityTaskHandlerInitializerFilter () { + public static final function createCityDaemonTaskHandlerInitializerFilter () { // Get a new instance - $filterInstance = new CityTaskHandlerInitializerFilter(); + $filterInstance = new CityDaemonTaskHandlerInitializerFilter(); // Return the instance return $filterInstance; @@ -64,11 +64,11 @@ class CityTaskHandlerInitializerFilter extends BaseCityFilter implements Filtera // Put the task handler in registry Registry::getRegistry()->addInstance('task_handler', $handlerInstance); - // Prepare a package-tags initialization task for the listeners - //$taskInstance = ObjectFactory::createObjectByConfiguredName('city_package_tags_init_task_class'); + // Prepare a map-expanding task + $taskInstance = ObjectFactory::createObjectByConfiguredName('city_daemon_map_expander_task_class'); // Register it - //$handlerInstance->registerTask('package_tags_init', $taskInstance); + $handlerInstance->registerTask('map_expander', $taskInstance); /* * Allow extra city-depending tasks, e.g. the bootstrapper city needs diff --git a/application/city/main/tasks/.htaccess b/application/city/main/tasks/.htaccess new file mode 100644 index 0000000..3a42882 --- /dev/null +++ b/application/city/main/tasks/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/application/city/main/tasks/daemon/.htaccess b/application/city/main/tasks/daemon/.htaccess new file mode 100644 index 0000000..3a42882 --- /dev/null +++ b/application/city/main/tasks/daemon/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/application/city/main/tasks/daemon/city_map/.htaccess b/application/city/main/tasks/daemon/city_map/.htaccess new file mode 100644 index 0000000..3a42882 --- /dev/null +++ b/application/city/main/tasks/daemon/city_map/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/application/city/main/tasks/daemon/city_map/class_CityDaemonMapExpanderTask.php b/application/city/main/tasks/daemon/city_map/class_CityDaemonMapExpanderTask.php new file mode 100644 index 0000000..6c0dad5 --- /dev/null +++ b/application/city/main/tasks/daemon/city_map/class_CityDaemonMapExpanderTask.php @@ -0,0 +1,82 @@ + + * @version 0.0.0 + * @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 + * + * 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 . + */ +class CityDaemonMapExpanderTask extends BaseTask implements Taskable, Visitable { + /** + * Protected constructor + * + * @return void + */ + protected function __construct () { + // Call parent constructor + parent::__construct(__CLASS__); + } + + /** + * Creates an instance of this class + * + * @return $taskInstance An instance of a Visitable class + */ + public final static function createCityDaemonMapExpanderTask () { + // Get new instance + $taskInstance = new CityDaemonMapExpanderTask(); + + // Return the prepared instance + return $taskInstance; + } + + /** + * Accepts the visitor to process the visitor + * + * @param $visitorInstance An instance of a Visitor class + * @return void + * @todo Maybe visit some sub-objects + */ + public function accept (Visitor $visitorInstance) { + // Visit this task + $visitorInstance->visitTask($this); + } + + /** + * Executes the task + * + * @return void + * @todo 0% done + */ + public function executeTask () { + $this->partialStub('Unimplemented task.'); + } + + /** + * Shuts down the task + * + * @return void + * @todo 0% done + */ + public function doShutdown () { + self::createDebugInstance(__CLASS__)->debugOutput('TASK[' . __METHOD__ . ':' . __LINE__ . ']: Shutting down...'); + } +} + +// [EOF] +?> diff --git a/application/city/main/tasks/daemon/class_CityDaemon b/application/city/main/tasks/daemon/class_CityDaemon new file mode 100644 index 0000000..48e0724 --- /dev/null +++ b/application/city/main/tasks/daemon/class_CityDaemon @@ -0,0 +1,82 @@ + + * @version 0.0.0 + * @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 + * + * 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 . + */ +class CityDaemon???Task extends BaseTask implements Taskable, Visitable { + /** + * Protected constructor + * + * @return void + */ + protected function __construct () { + // Call parent constructor + parent::__construct(__CLASS__); + } + + /** + * Creates an instance of this class + * + * @return $taskInstance An instance of a Visitable class + */ + public final static function createCityDaemon???Task () { + // Get new instance + $taskInstance = new CityDaemon???Task(); + + // Return the prepared instance + return $taskInstance; + } + + /** + * Accepts the visitor to process the visitor + * + * @param $visitorInstance An instance of a Visitor class + * @return void + * @todo Maybe visit some sub-objects + */ + public function accept (Visitor $visitorInstance) { + // Visit this task + $visitorInstance->visitTask($this); + } + + /** + * Executes the task + * + * @return void + * @todo 0% done + */ + public function executeTask () { + $this->partialStub('Unimplemented task.'); + } + + /** + * Shuts down the task + * + * @return void + * @todo 0% done + */ + public function doShutdown () { + self::createDebugInstance(__CLASS__)->debugOutput('TASK[' . __METHOD__ . ':' . __LINE__ . ']: Shutting down...'); + } +} + +// [EOF] +?> diff --git a/core b/core index b2caf38..cc0e0b4 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit b2caf380b85fbe804d7464ecc1bfe60aafcbc7d9 +Subproject commit cc0e0b439900fd1ffb882f9150f37dd3eb8d301d -- 2.39.5