From: Aaron Schulz Date: Sat, 23 Jun 2012 18:26:46 +0000 (-0700) Subject: [LockManager] Added support for a default lock manager. X-Git-Tag: 1.31.0-rc.0~23234^2 X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/exercices/bilan.php?a=commitdiff_plain;h=45bf4e80bf80d4d00a1a3f62115649fe6cd84914;p=lhc%2Fweb%2Fwiklou.git [LockManager] Added support for a default lock manager. Change-Id: I730c8b078b9f3a0ad73b1b0887a8c991c9d81bde --- diff --git a/includes/filerepo/backend/lockmanager/LockManagerGroup.php b/includes/filerepo/backend/lockmanager/LockManagerGroup.php index b8308556c9..8c8c940a0a 100644 --- a/includes/filerepo/backend/lockmanager/LockManagerGroup.php +++ b/includes/filerepo/backend/lockmanager/LockManagerGroup.php @@ -23,13 +23,12 @@ /** * Class to handle file lock manager registration - * + * * @ingroup LockManager * @author Aaron Schulz * @since 1.19 */ class LockManagerGroup { - /** * @var LockManagerGroup */ @@ -61,7 +60,7 @@ class LockManagerGroup { /** * Register lock managers from the global variables - * + * * @return void */ protected function initFromGlobals() { @@ -115,4 +114,30 @@ class LockManagerGroup { } return $this->managers[$name]['instance']; } + + /** + * Get the default lock manager configured for the site. + * Returns NullLockManager if no lock manager could be found. + * + * @return LockManager + */ + public function getDefault() { + return isset( $this->managers['default'] ) + ? $this->get( 'default' ) + : new NullLockManager( array() ); + } + + /** + * Get the default lock manager configured for the site + * or at least some other effective configured lock manager. + * Throws an exception if no lock manager could be found. + * + * @return LockManager + * @throws MWException + */ + public function getAny() { + return isset( $this->managers['default'] ) + ? $this->get( 'default' ) + : $this->get( 'fsLockManager' ); + } }