From: Roland Haeder Date: Tue, 24 Mar 2015 20:35:47 +0000 (+0100) Subject: Added from 'hub' project. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=872f583d0282922aecada4f1d5e63b0ee71f708c;p=core.git Added from 'hub' project. Signed-off-by: Roland Häder --- diff --git a/inc/classes/main/tasks/.htaccess b/inc/classes/main/tasks/.htaccess new file mode 100644 index 00000000..3a428827 --- /dev/null +++ b/inc/classes/main/tasks/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/inc/classes/main/tasks/class_ b/inc/classes/main/tasks/class_ new file mode 100644 index 00000000..daacdebd --- /dev/null +++ b/inc/classes/main/tasks/class_ @@ -0,0 +1,72 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core 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 !!!???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 create!!!???Task () { + // Get new instance + $taskInstance = new !!!???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% + */ + public function executeTask () { + $this->partialStub('Unimplemented task.'); + } +} + +// [EOF] +?> diff --git a/inc/classes/main/tasks/class_BaseTask.php b/inc/classes/main/tasks/class_BaseTask.php new file mode 100644 index 00000000..c7bbe68b --- /dev/null +++ b/inc/classes/main/tasks/class_BaseTask.php @@ -0,0 +1,38 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team + * @license GNU GPL 3.0 or any newer version + * @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 + * 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 BaseTask extends BaseFrameworkSystem { + /** + * Protected constructor + * + * @param $className Name of the class + * @return void + */ + protected function __construct ($className) { + // Call parent constructor + parent::__construct($className); + } +} + +// [EOF] +?> diff --git a/inc/classes/main/tasks/idle/.htaccess b/inc/classes/main/tasks/idle/.htaccess new file mode 100644 index 00000000..3a428827 --- /dev/null +++ b/inc/classes/main/tasks/idle/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/inc/classes/main/tasks/idle/class_IdleLoopTask.php b/inc/classes/main/tasks/idle/class_IdleLoopTask.php new file mode 100644 index 00000000..f07b0e89 --- /dev/null +++ b/inc/classes/main/tasks/idle/class_IdleLoopTask.php @@ -0,0 +1,81 @@ + + * @version 0.0.0 + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2015 Core Developer Team + * @license GNU GPL 3.0 or any newer version + * @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 + * 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 IdleLoopTask 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 Taskable/Visitable class + */ + public static final function createIdleLoopTask () { + // Get new instance + $taskInstance = new IdleLoopTask(); + + // Return the prepared instance + return $taskInstance; + } + + /** + * Accepts the visitor to process the visitor + * + * @param $visitorInstance An instance of a Visitor class + * @return void + */ + public function accept (Visitor $visitorInstance) { + // Visit this task + $visitorInstance->visitTask($this); + } + + /** + * Executes the task + * + * @return void + */ + public function executeTask () { + // Idle here a little (2 milliseconds) + $this->idle(2); + } + + /** + * Shutdown this task, this does nothing here, just supply the method. + * + * @return void + */ + public function doShutdown () { + // Debug message + self::createDebugInstance(__CLASS__)->debugOutput('IDLE-TASK[' . __METHOD__ . ':' . __LINE__ . ']: Shutting down...'); + } +} + +// [EOF] +?> diff --git a/inc/config.php b/inc/config.php index 6ad91b62..8c55886d 100644 --- a/inc/config.php +++ b/inc/config.php @@ -419,5 +419,17 @@ $cfg->setConfigEntry('default_iterator_class', 'DefaultIterator'); // CFG: ACTIVE-TASK-VISITOR-CLASS $cfg->setConfigEntry('active_task_visitor_class', 'ActiveTaskVisitor'); +// CFG: IDLE-TASK-CLASS +$cfg->setConfigEntry('idle_task_class', 'IdleLoopTask'); + +// CFG: TASK-IDLE-LOOP-STARTUP-DELAY +$cfg->setConfigEntry('task_idle_loop_startup_delay', 0); + +// CFG: TASK-IDLE-LOOP-INTERVAL-DELAY +$cfg->setConfigEntry('task_idle_loop_interval_delay', 0); + +// CFG: TASK-IDLE-LOOP-MAX-RUNS +$cfg->setConfigEntry('task_idle_loop_max_runs', 0); + // [EOF] ?>