Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
 
3
/**
4
 * Licensed to Jasig under one or more contributor license
5
 * agreements. See the NOTICE file distributed with this work for
6
 * additional information regarding copyright ownership.
7
 *
8
 * Jasig licenses this file to you under the Apache License,
9
 * Version 2.0 (the "License"); you may not use this file except in
10
 * compliance with the License. You may obtain a copy of the License at:
11
 *
12
 * http://www.apache.org/licenses/LICENSE-2.0
13
 *
14
 * Unless required by applicable law or agreed to in writing, software
15
 * distributed under the License is distributed on an "AS IS" BASIS,
16
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
 * See the License for the specific language governing permissions and
18
 * limitations under the License.
19
 *
20
 * PHP Version 7
21
 *
22
 * @file     CAS/Request/MultiRequestInterface.php
23
 * @category Authentication
24
 * @package  PhpCAS
25
 * @author   Adam Franco <afranco@middlebury.edu>
26
 * @license  http://www.apache.org/licenses/LICENSE-2.0  Apache License 2.0
27
 * @link     https://wiki.jasig.org/display/CASC/phpCAS
28
 */
29
 
30
/**
31
 * This interface defines a class library for performing multiple web requests
32
 * in batches. Implementations of this interface may perform requests serially
33
 * or in parallel.
34
 *
35
 * @class    CAS_Request_MultiRequestInterface
36
 * @category Authentication
37
 * @package  PhpCAS
38
 * @author   Adam Franco <afranco@middlebury.edu>
39
 * @license  http://www.apache.org/licenses/LICENSE-2.0  Apache License 2.0
40
 * @link     https://wiki.jasig.org/display/CASC/phpCAS
41
 */
42
interface CAS_Request_MultiRequestInterface
43
{
44
 
45
    /*********************************************************
46
     * Add Requests
47
    *********************************************************/
48
 
49
    /**
50
     * Add a new Request to this batch.
51
     * Note, implementations will likely restrict requests to their own concrete
52
     * class hierarchy.
53
     *
54
     * @param CAS_Request_RequestInterface $request request interface
55
     *
56
     * @return void
57
     * @throws CAS_OutOfSequenceException If called after the Request has been
58
     * sent.
59
     * @throws CAS_InvalidArgumentException If passed a Request of the wrong
60
     * implmentation.
61
     */
62
    public function addRequest (CAS_Request_RequestInterface $request);
63
 
64
    /**
65
     * Retrieve the number of requests added to this batch.
66
     *
67
     * @return int number of request elements
68
     */
69
    public function getNumRequests ();
70
 
71
    /*********************************************************
72
     * 2. Send the Request
73
    *********************************************************/
74
 
75
    /**
76
     * Perform the request. After sending, all requests will have their
77
     * responses poulated.
78
     *
79
     * @return bool TRUE on success, FALSE on failure.
80
     * @throws CAS_OutOfSequenceException If called multiple times.
81
     */
82
    public function send ();
83
}