Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Core/Session/AccountSwitcherInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Core/Session/AccountSwitcherInterface.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,38 @@ +<?php + +namespace Drupal\Core\Session; + +/** + * Defines an interface for a service for safe account switching. + * + * @ingroup user_api + */ +interface AccountSwitcherInterface { + + /** + * Safely switches to another account. + * + * Each invocation of AccountSwitcherInterface::switchTo() must be + * matched by a corresponding invocation of + * AccountSwitcherInterface::switchBack() in the same function. + * + * @param \Drupal\Core\Session\AccountInterface $account + * The account to switch to. + * + * @return \Drupal\Core\Session\AccountSwitcherInterface + * $this. + */ + public function switchTo(AccountInterface $account); + + /** + * Reverts to a previous account after switching. + * + * @return \Drupal\Core\Session\AccountSwitcherInterface + * $this. + * + * @throws \RuntimeException + * When there are no more account switches to revert. + */ + public function switchBack(); + +}