<?php namespace iThemesSecurity\Lib\Lockout; use iThemesSecurity\Lib\Lockout\Execute_Lock\Source\Source; abstract class Context implements Source { /** @var string */ private $lockout_module; /** * ITSEC_Execute_Lockout_Context constructor. * * @param string $lockout_module */ public function __construct( $lockout_module ) { $this->lockout_module = $lockout_module; } /** * Get the registered lockout module {@see 'itsec_lockout_modules'} that * * @return string */ public function get_lockout_module() { return $this->lockout_module; } /** * @return mixed */ public function get_source_slug() { return $this->get_lockout_module(); } /** * Make an execute lock context from the lockout context. * * @return Execute_Lock\Context */ abstract public function make_execute_lock_context(); } require_once( __DIR__ . '/class-host-context.php' ); require_once( __DIR__ . '/class-user-context.php' ); require_once( __DIR__ . '/class-username-context.php' );