Add ObjectFactory as a service
[lhc/web/wiklou.git] / includes / MediaWikiServices.php
index fb30199..1ffbf1d 100644 (file)
@@ -14,14 +14,17 @@ use GlobalVarConfig;
 use Hooks;
 use IBufferingStatsdDataFactory;
 use Liuggio\StatsdClient\Factory\StatsdDataFactoryInterface;
+use LocalisationCache;
 use MediaWiki\Block\BlockManager;
 use MediaWiki\Block\BlockRestrictionStore;
+use MediaWiki\FileBackend\FSFile\TempFSFileFactory;
 use MediaWiki\Http\HttpRequestFactory;
+use MediaWiki\Page\MovePageFactory;
 use MediaWiki\Permissions\PermissionManager;
 use MediaWiki\Preferences\PreferencesFactory;
-use MediaWiki\Shell\CommandFactory;
 use MediaWiki\Revision\RevisionRenderer;
 use MediaWiki\Revision\SlotRoleRegistry;
+use MediaWiki\Shell\CommandFactory;
 use MediaWiki\Special\SpecialPageFactory;
 use MediaWiki\Storage\BlobStore;
 use MediaWiki\Storage\BlobStoreFactory;
@@ -40,6 +43,7 @@ use MediaWiki\Config\ConfigRepository;
 use MediaWiki\Linker\LinkRenderer;
 use MediaWiki\Linker\LinkRendererFactory;
 use MWException;
+use MessageCache;
 use MimeAnalyzer;
 use NamespaceInfo;
 use ObjectCache;
@@ -61,6 +65,7 @@ use SkinFactory;
 use TitleFormatter;
 use TitleParser;
 use VirtualRESTServiceClient;
+use Wikimedia\ObjectFactory;
 use Wikimedia\Rdbms\LBFactory;
 use Wikimedia\Services\SalvageableService;
 use Wikimedia\Services\ServiceContainer;
@@ -68,7 +73,6 @@ use Wikimedia\Services\NoSuchServiceException;
 use MediaWiki\Interwiki\InterwikiLookup;
 use MagicWordFactory;
 use MediaWiki\Storage\PageEditStash;
-use HtmlCacheUpdater;
 
 /**
  * Service locator for MediaWiki core services.
@@ -427,6 +431,14 @@ class MediaWikiServices extends ServiceContainer {
                return $this->getService( 'ActorMigration' );
        }
 
+       /**
+        * @since 1.34
+        * @return BadFileLookup
+        */
+       public function getBadFileLookup() : BadFileLookup {
+               return $this->getService( 'BadFileLookup' );
+       }
+
        /**
         * @since 1.31
         * @return BlobStore
@@ -596,14 +608,6 @@ class MediaWikiServices extends ServiceContainer {
                return $this->getService( 'GenderCache' );
        }
 
-       /**
-        * @return HtmlCacheUpdater
-        * @since 1.34
-        */
-       public function getHtmlCacheUpdater() {
-               return $this->getService( 'HtmlCacheUpdater' );
-       }
-
        /**
         * @since 1.31
         * @return HttpRequestFactory
@@ -647,6 +651,14 @@ class MediaWikiServices extends ServiceContainer {
                return $this->getService( 'LinkRendererFactory' );
        }
 
+       /**
+        * @since 1.34
+        * @return LocalisationCache
+        */
+       public function getLocalisationCache() : LocalisationCache {
+               return $this->getService( 'LocalisationCache' );
+       }
+
        /**
         * @since 1.28
         * @return \BagOStuff
@@ -698,6 +710,14 @@ class MediaWikiServices extends ServiceContainer {
                return $this->getService( 'MediaHandlerFactory' );
        }
 
+       /**
+        * @since 1.34
+        * @return MessageCache
+        */
+       public function getMessageCache() : MessageCache {
+               return $this->getService( 'MessageCache' );
+       }
+
        /**
         * @since 1.28
         * @return MimeAnalyzer
@@ -706,6 +726,14 @@ class MediaWikiServices extends ServiceContainer {
                return $this->getService( 'MimeAnalyzer' );
        }
 
+       /**
+        * @since 1.34
+        * @return MovePageFactory
+        */
+       public function getMovePageFactory() : MovePageFactory {
+               return $this->getService( 'MovePageFactory' );
+       }
+
        /**
         * @since 1.34
         * @return NamespaceInfo
@@ -722,6 +750,17 @@ class MediaWikiServices extends ServiceContainer {
                return $this->getService( 'NameTableStoreFactory' );
        }
 
+       /**
+        * ObjectFactory is intended for instantiating "handlers" from declarative definitions,
+        * such as Action API modules, special pages, or REST API handlers.
+        *
+        * @since 1.34
+        * @return ObjectFactory
+        */
+       public function getObjectFactory() {
+               return $this->getService( 'ObjectFactory' );
+       }
+
        /**
         * @since 1.32
         * @return OldRevisionImporter
@@ -955,6 +994,14 @@ class MediaWikiServices extends ServiceContainer {
                return $this->getService( 'StatsdDataFactory' );
        }
 
+       /**
+        * @since 1.34
+        * @return TempFSFileFactory
+        */
+       public function getTempFSFileFactory() : TempFSFileFactory {
+               return $this->getService( 'TempFSFileFactory' );
+       }
+
        /**
         * @since 1.28
         * @return TitleFormatter