* @version 0.0.0 * @copyright Copyright (c) 2014 Crawler Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.shipsimu.org * @todo We need to find a better name for this 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 * 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 . */ interface Crawler extends FrameworkInterface { /** * Method to "bootstrap" the crawler. This step does also apply provided * command-line arguments stored in the request instance. You should now * get it from calling $this->getRequestInstance(). * * @return void */ function doBootstrapping (); /** * Outputs the console teaser. This should only be executed on startup or * full restarts. This method generates some space around the teaser. * * @return void */ function outputConsoleTeaser (); /** * Add some crawler-specific filters * * @param $controllerInstance An object of a Controller instance * @param $responseInstance An object of a Responseable instance * @return void */ function addExtraFilters (Controller $controllerInstance, Responseable $responseInstance); /** * Enables/disables the crawler (just sets a flag) * * @param $version Version number of this crawler * @return void */ function enableIsActive ($isActive = TRUE); /** * Determines whether the crawler is active * * @return $isActive Whether the crawler is active */ function isActive (); /** * Initializes this crawler instance * * @param $stateInstance An instance of a Stateable class * @return void */ function initCrawler (Stateable $stateInstance); } // [EOF] ?>