Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
// This file is part of Moodle - http://moodle.org/
3
//
4
// Moodle is free software: you can redistribute it and/or modify
5
// it under the terms of the GNU General Public License as published by
6
// the Free Software Foundation, either version 3 of the License, or
7
// (at your option) any later version.
8
//
9
// Moodle is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
// GNU General Public License for more details.
13
//
14
// You should have received a copy of the GNU General Public License
15
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
16
 
17
/**
18
 * This file contains the \core_privacy\local\request\plugin\subsystem_provider
19
 * interface to describe a class which provides data in some form for a
20
 * subsystem.
21
 *
22
 * It should not be implemented directly, but should be extended by the
23
 * subsystem responsible for the plugintype.
24
 *
25
 * @package    core_privacy
26
 * @copyright  2018 Andrew Nicols <andrew@nicols.co.uk>
27
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
28
 */
29
namespace core_privacy\local\request\plugin;
30
 
31
defined('MOODLE_INTERNAL') || die();
32
 
33
/**
34
 * The subsystem_provider interface is for plugins which may not
35
 * necessarily be called directly, but instead via a subsystem.
36
 *
37
 * One example of this is the questiontype plugintype. These are
38
 * intrinsically linked against the question subsystem and the question
39
 * subsystem should define an interface extending this one through which it
40
 * can query and retrieve specific data from each questiontype as required.
41
 *
42
 * Each questiontype may additionally respond directly to the privacy API
43
 * if it also impleents the \core_privacay\local\request\plugin\provider
44
 * interface directly.
45
 *
46
 * Care should be taken when extending this provider to not conflict with
47
 * the \core_privacay\local\request\plugin\provider interface.
48
 *
49
 * @package    core_privacy
50
 * @copyright  2018 Andrew Nicols <andrew@nicols.co.uk>
51
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
52
 */
53
interface subsystem_provider extends \core_privacy\local\request\shared_data_provider {
54
}