mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Echo
synced 2024-11-25 00:05:29 +00:00
596729d852
Adds AttributeManager to EchoServices so that dependencies of AttributeManager can be injected. Bug: T275148 Change-Id: I4fa5084d72914d16b6d218e7dd3521f5a1919b80
46 lines
1.2 KiB
PHP
46 lines
1.2 KiB
PHP
<?php
|
|
|
|
use EchoPush\NotificationServiceClient;
|
|
use EchoPush\SubscriptionManager;
|
|
use MediaWiki\MediaWikiServices;
|
|
|
|
class EchoServices {
|
|
|
|
/** @var MediaWikiServices */
|
|
private $services;
|
|
|
|
/** @return EchoServices */
|
|
public static function getInstance(): EchoServices {
|
|
return new self( MediaWikiServices::getInstance() );
|
|
}
|
|
|
|
/**
|
|
* @param MediaWikiServices $services
|
|
* @return EchoServices
|
|
*/
|
|
public static function wrap( MediaWikiServices $services ): EchoServices {
|
|
return new self( $services );
|
|
}
|
|
|
|
/** @param MediaWikiServices $services */
|
|
public function __construct( MediaWikiServices $services ) {
|
|
$this->services = $services;
|
|
}
|
|
|
|
/** @return NotificationServiceClient */
|
|
public function getPushNotificationServiceClient(): NotificationServiceClient {
|
|
return $this->services->getService( 'EchoPushNotificationServiceClient' );
|
|
}
|
|
|
|
/** @return SubscriptionManager */
|
|
public function getPushSubscriptionManager(): SubscriptionManager {
|
|
return $this->services->getService( 'EchoPushSubscriptionManager' );
|
|
}
|
|
|
|
/** @return EchoAttributeManager */
|
|
public function getAttributeManager(): EchoAttributeManager {
|
|
return $this->services->getService( 'EchoAttributeManager' );
|
|
}
|
|
|
|
}
|