* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * @link https://wiki.jasig.org/display/CASC/phpCAS */ /** * This interface defines a class library for performing multiple web requests * in batches. Implementations of this interface may perform requests serially * or in parallel. * * @class CAS_Request_MultiRequestInterface * @category Authentication * @package PhpCAS * @author Adam Franco * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * @link https://wiki.jasig.org/display/CASC/phpCAS */ interface CAS_Request_MultiRequestInterface { /********************************************************* * Add Requests *********************************************************/ /** * Add a new Request to this batch. * Note, implementations will likely restrict requests to their own concrete * class hierarchy. * * @param CAS_Request_RequestInterface $request request interface * * @return void * @throws CAS_OutOfSequenceException If called after the Request has been * sent. * @throws CAS_InvalidArgumentException If passed a Request of the wrong * implmentation. */ public function addRequest (CAS_Request_RequestInterface $request); /** * Retrieve the number of requests added to this batch. * * @return number of request elements */ public function getNumRequests (); /********************************************************* * 2. Send the Request *********************************************************/ /** * Perform the request. After sending, all requests will have their * responses poulated. * * @return bool TRUE on success, FALSE on failure. * @throws CAS_OutOfSequenceException If called multiple times. */ public function send (); }