. /** * Logstore provider interface. * * @package tool_log * @copyright 2018 Frédéric Massart * @author Frédéric Massart * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace tool_log\local\privacy; defined('MOODLE_INTERNAL') || die(); use context; use core_privacy\local\request\contextlist; use core_privacy\local\request\approved_contextlist; /** * Logstore provider interface. * * Logstore subplugins providers must implement this interface. * * @package tool_log * @copyright 2018 Frédéric Massart * @author Frédéric Massart * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ interface logstore_provider extends \core_privacy\local\request\plugin\subplugin_provider { /** * Add contexts that contain user information for the specified user. * * @param contextlist $contextlist The contextlist to add the contexts to. * @param int $userid The user to find the contexts for. * @return void */ public static function add_contexts_for_userid(contextlist $contextlist, $userid); /** * Export all user data for the specified user, in the specified contexts. * * @param approved_contextlist $contextlist The approved contexts to export information for. * @return void */ public static function export_user_data(approved_contextlist $contextlist); /** * Delete all data for all users in the specified context. * * @param context $context The specific context to delete data for. * @return void */ public static function delete_data_for_all_users_in_context(context $context); /** * Delete all user data for the specified user, in the specified contexts. * * @param approved_contextlist $contextlist The approved contexts and user information to delete information for. * @return void */ public static function delete_data_for_user(approved_contextlist $contextlist); }