* @version 0.0.0 * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2014 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 . */ interface Responseable extends FrameworkInterface { /** * Setter for status * * @param $status New response status * @return void */ function setResponseStatus ($status); /** * Adds a header to the response. This method "wraps" the direct header() * function call and so it can be done "generic". E.g. if a local * application like my hub does not support redirects, this method can be * kept empty or it can be done something else which would not be possible * with a direct header() call. * * @param $name Name of header element * @param $value Value of header element * @return void */ function addHeader ($name, $value); /** * "Writes" data to the response body * * @param $output Output we shall sent in the HTTP response * @return void */ function writeToBody ($output); /** * Flushs the cached HTTP response to the outer world * * @param $force Whether we shall force the output or abort if headers are * already sent with an exception * @return void * @throws ResponseHeadersAlreadySentException Thrown if headers are * already sent */ function flushBuffer ($force = FALSE); /** * Adds a fatal message id to the response. The added messages can then be * processed and outputed to the world * * @param $messageId The message id we shall add * @return void */ function addFatalMessage ($messageId); /** * Adds a cookie to the response * * @param $cookieName Cookie's name * @param $cookieValue Value to store in the cookie * @param $encrypted Do some extra encryption on the value * @return void * @throws ResponseHeadersAlreadySentException If headers are already sent */ function addCookie ($cookieName, $cookieValue, $encrypted = FALSE); /** * Redirect to a configured URL. The URL can be absolute or relative. In * case of relative URL it will be extended automatically with the * 'base_url' from configuration. * * @param $configEntry The configuration entry which holds our URL * @return void * @throws ResponseHeadersAlreadySentException If headers are already sent */ function redirectToConfiguredUrl ($configEntry); /** * Expires the given cookie if it is set * * @param $cookieName Cookie to expire * @return void */ function expireCookie ($cookieName); /** * Refreshs a given cookie. This will make the cookie live longer * * @param $cookieName Cookie to refresh * @return void */ function refreshCookie ($cookieName); } // [EOF] ?>