X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FDI.php;h=6fd0e3a7ada89ebd40bdfbf222e4c7887670458b;hb=d63aca97b8f0bebfad7ee7517d50b12624907998;hp=7e5f309b33b2f368c0c6f81f6972be55bb5ee5e9;hpb=53402738b53f91f980c53293b713f5faecb52b56;p=friendica.git diff --git a/src/DI.php b/src/DI.php index 7e5f309b33..6fd0e3a7ad 100644 --- a/src/DI.php +++ b/src/DI.php @@ -1,6 +1,6 @@ create(Database\Database::class); } + /** + * @return \Friendica\Database\Definition\DbaDefinition + */ + public static function dbaDefinition(): Database\Definition\DbaDefinition + { + return self::$dice->create(Database\Definition\DbaDefinition::class); + } + + /** + * @return \Friendica\Database\Definition\ViewDefinition + */ + public static function viewDefinition(): Database\Definition\ViewDefinition + { + return self::$dice->create(Database\Definition\ViewDefinition::class); + } + // // "App" namespace instances // @@ -98,14 +117,6 @@ abstract class DI return self::$dice->create(App\Mode::class); } - /** - * @return App\Module - */ - public static function module() - { - return self::$dice->create(App\Module::class); - } - /** * @return App\Page */ @@ -155,35 +166,45 @@ abstract class DI // /** - * @return Core\Cache\ICache + * @return Core\Cache\Capability\ICanCache */ public static function cache() { - return self::$dice->create(Core\Cache\ICache::class); + return self::$dice->create(Core\Cache\Capability\ICanCache::class); } /** - * @return Core\Config\IConfig + * @return Core\Config\Capability\IManageConfigValues */ public static function config() { - return self::$dice->create(Core\Config\IConfig::class); + return self::$dice->create(Core\Config\Capability\IManageConfigValues::class); + } + + public static function configFileManager(): Core\Config\Util\ConfigFileManager + { + return self::$dice->create(Core\Config\Util\ConfigFileManager::class); + } + + public static function keyValue(): Core\KeyValueStorage\Capabilities\IManageKeyValuePairs + { + return self::$dice->create(Core\KeyValueStorage\Capabilities\IManageKeyValuePairs::class); } /** - * @return Core\PConfig\IPConfig + * @return Core\PConfig\Capability\IManagePersonalConfigValues */ public static function pConfig() { - return self::$dice->create(Core\PConfig\IPConfig::class); + return self::$dice->create(Core\PConfig\Capability\IManagePersonalConfigValues::class); } /** - * @return Core\Lock\ILock + * @return Core\Lock\Capability\ICanLock */ public static function lock() { - return self::$dice->create(Core\Lock\ILock::class); + return self::$dice->create(Core\Lock\Capability\ICanLock::class); } /** @@ -195,33 +216,63 @@ abstract class DI } /** - * @return Core\Process + * @return Core\Worker\Repository\Process */ public static function process() { - return self::$dice->create(Core\Process::class); + return self::$dice->create(Core\Worker\Repository\Process::class); + } + + public static function session(): IHandleSessions + { + return self::$dice->create(Core\Session\Capability\IHandleSessions::class); + } + + public static function userSession(): IHandleUserSessions + { + return self::$dice->create(Core\Session\Capability\IHandleUserSessions::class); } /** - * @return Core\Session\ISession + * @return \Friendica\Core\Storage\Repository\StorageManager */ - public static function session() + public static function storageManager() { - return self::$dice->create(Core\Session\ISession::class); + return self::$dice->create(Core\Storage\Repository\StorageManager::class); } /** - * @return Core\StorageManager + * @return \Friendica\Core\System */ - public static function storageManager() + public static function system() { - return self::$dice->create(Core\StorageManager::class); + return self::$dice->create(Core\System::class); + } + + /** + * @return \Friendica\Navigation\SystemMessages + */ + public static function sysmsg() + { + return self::$dice->create(SystemMessages::class); } // // "LoggerInterface" instances // + /** + * Flushes the Logger instance, so the factory is called again + * (creates a new id and retrieves the current PID) + */ + public static function flushLogger() + { + $flushDice = self::$dice + ->addRule(LoggerInterface::class, self::$dice->getRule(LoggerInterface::class)) + ->addRule('$devLogger', self::$dice->getRule('$devLogger')); + static::init($flushDice); + } + /** * @return LoggerInterface */ @@ -243,7 +294,7 @@ abstract class DI */ public static function workerLogger() { - return self::$dice->create(Util\Logger\WorkerLogger::class); + return self::$dice->create(Core\Logger\Type\WorkerLogger::class); } // @@ -314,6 +365,14 @@ abstract class DI return self::$dice->create(Factory\Api\Mastodon\FollowRequest::class); } + /** + * @return Factory\Api\Mastodon\Poll + */ + public static function mstdnPoll() + { + return self::$dice->create(Factory\Api\Mastodon\Poll::class); + } + /** * @return Factory\Api\Mastodon\Relationship */ @@ -330,6 +389,14 @@ abstract class DI return self::$dice->create(Factory\Api\Mastodon\Status::class); } + /** + * @return Factory\Api\Mastodon\StatusSource + */ + public static function mstdnStatusSource() + { + return self::$dice->create(Factory\Api\Mastodon\StatusSource::class); + } + /** * @return Factory\Api\Mastodon\ScheduledStatus */ @@ -362,6 +429,14 @@ abstract class DI return self::$dice->create(Factory\Api\Mastodon\Notification::class); } + /** + * @return Factory\Api\Twitter\Status + */ + public static function twitterStatus() + { + return self::$dice->create(Factory\Api\Twitter\Status::class); + } + /** * @return Factory\Api\Twitter\User */ @@ -379,11 +454,11 @@ abstract class DI // "Model" namespace instances // /** - * @return Model\Process + * @return \Friendica\Core\Worker\Repository\Process */ public static function modelProcess() { - return self::$dice->create(Model\Process::class); + return self::$dice->create(Core\Worker\Repository\Process::class); } /** @@ -395,11 +470,11 @@ abstract class DI } /** - * @return Model\Storage\IWritableStorage + * @return Core\Storage\Capability\ICanWriteToStorage */ public static function storage() { - return self::$dice->create(Model\Storage\IWritableStorage::class); + return self::$dice->create(Core\Storage\Capability\ICanWriteToStorage::class); } /** @@ -410,16 +485,25 @@ abstract class DI return self::$dice->create(Model\Log\ParsedLogIterator::class); } + // + // "Module" namespace + // + + public static function apiResponse(): Module\Api\ApiResponse + { + return self::$dice->create(Module\Api\ApiResponse::class); + } + // // "Network" namespace // /** - * @return Network\IHTTPClient + * @return Network\HTTPClient\Capability\ICanSendHttpRequests */ public static function httpClient() { - return self::$dice->create(Network\IHTTPClient::class); + return self::$dice->create(Network\HTTPClient\Capability\ICanSendHttpRequests::class); } // @@ -458,6 +542,21 @@ abstract class DI return self::$dice->create(Contact\Introduction\Factory\Introduction::class); } + public static function report(): Moderation\Repository\Report + { + return self::$dice->create(Moderation\Repository\Report::class); + } + + public static function reportFactory(): Moderation\Factory\Report + { + return self::$dice->create(Moderation\Factory\Report::class); + } + + public static function localRelationship(): Contact\LocalRelationship\Repository\LocalRelationship + { + return self::$dice->create(Contact\LocalRelationship\Repository\LocalRelationship::class); + } + public static function permissionSet(): Security\PermissionSet\Repository\PermissionSet { return self::$dice->create(Security\PermissionSet\Repository\PermissionSet::class); @@ -498,9 +597,28 @@ abstract class DI return self::$dice->create(Navigation\Notifications\Factory\Notify::class); } - public static function formattedNotificationFactory(): Navigation\Notifications\Factory\FormattedNotification + public static function formattedNotificationFactory(): Navigation\Notifications\Factory\FormattedNotify { - return self::$dice->create(Navigation\Notifications\Factory\FormattedNotification::class); + return self::$dice->create(Navigation\Notifications\Factory\FormattedNotify::class); + } + + public static function formattedNavNotificationFactory(): Navigation\Notifications\Factory\FormattedNavNotification + { + return self::$dice->create(Navigation\Notifications\Factory\FormattedNavNotification::class); + } + + // + // "Federation" namespace instances + // + + public static function deliveryQueueItemFactory(): Federation\Factory\DeliveryQueueItem + { + return self::$dice->create(Federation\Factory\DeliveryQueueItem::class); + } + + public static function deliveryQueueItemRepo(): Federation\Repository\DeliveryQueueItem + { + return self::$dice->create(Federation\Repository\DeliveryQueueItem::class); } // @@ -515,6 +633,11 @@ abstract class DI return self::$dice->create(Protocol\Activity::class); } + public static function dsprContact(): Protocol\Diaspora\Repository\DiasporaContact + { + return self::$dice->create(Protocol\Diaspora\Repository\DiasporaContact::class); + } + // // "Security" namespace instances //