Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
   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  }