<?php
+/**
+ * @copyright Copyright (C) 2010-2021, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
namespace Friendica;
self::$dice = $dice;
}
+ /**
+ * Returns a clone of the current dice instance
+ * This usefull for overloading the current instance with mocked methods during tests
+ *
+ * @return Dice
+ */
+ public static function getDice()
+ {
+ return clone self::$dice;
+ }
+
//
// common instances
//
// "App" namespace instances
//
- /**
- * @return App\Authentication
- */
- public static function auth()
- {
- return self::$dice->create(App\Authentication::class);
- }
-
/**
* @return App\Arguments
*/
return self::$dice->create(Content\Item::class);
}
+ /**
+ * @return Content\Conversation
+ */
+ public static function conversation()
+ {
+ return self::$dice->create(Content\Conversation::class);
+ }
+
/**
* @return Content\Text\BBCode\Video
*/
}
/**
- * @return \Friendica\Core\PConfig\IPConfig
+ * @return Core\PConfig\IPConfig
*/
public static function pConfig()
{
//
/**
- * @return Factory\Mastodon\Account
+ * @return Factory\Api\Mastodon\Account
*/
public static function mstdnAccount()
{
- return self::$dice->create(Factory\Mastodon\Account::class);
+ return self::$dice->create(Factory\Api\Mastodon\Account::class);
+ }
+
+ /**
+ * @return Factory\Api\Mastodon\Application
+ */
+ public static function mstdnApplication()
+ {
+ return self::$dice->create(Factory\Api\Mastodon\Application::class);
+ }
+
+ /**
+ * @return Factory\Api\Mastodon\Attachment
+ */
+ public static function mstdnAttachment()
+ {
+ return self::$dice->create(Factory\Api\Mastodon\Attachment::class);
}
/**
- * @return Factory\Mastodon\FollowRequest
+ * @return Factory\Api\Mastodon\Card
+ */
+ public static function mstdnCard()
+ {
+ return self::$dice->create(Factory\Api\Mastodon\Card::class);
+ }
+
+ /**
+ * @return Factory\Api\Mastodon\Conversation
+ */
+ public static function mstdnConversation()
+ {
+ return self::$dice->create(Factory\Api\Mastodon\Conversation::class);
+ }
+
+ /**
+ * @return Factory\Api\Mastodon\Emoji
+ */
+ public static function mstdnEmoji()
+ {
+ return self::$dice->create(Factory\Api\Mastodon\Emoji::class);
+ }
+
+ /**
+ * @return Factory\Api\Mastodon\Error
+ */
+ public static function mstdnError()
+ {
+ return self::$dice->create(Factory\Api\Mastodon\Error::class);
+ }
+
+ /**
+ * @return Factory\Api\Mastodon\FollowRequest
*/
public static function mstdnFollowRequest()
{
- return self::$dice->create(Factory\Mastodon\FollowRequest::class);
+ return self::$dice->create(Factory\Api\Mastodon\FollowRequest::class);
}
/**
- * @return Factory\Mastodon\Relationship
+ * @return Factory\Api\Mastodon\Relationship
*/
public static function mstdnRelationship()
{
- return self::$dice->create(Factory\Mastodon\Relationship::class);
+ return self::$dice->create(Factory\Api\Mastodon\Relationship::class);
+ }
+
+ /**
+ * @return Factory\Api\Mastodon\Status
+ */
+ public static function mstdnStatus()
+ {
+ return self::$dice->create(Factory\Api\Mastodon\Status::class);
+ }
+
+ /**
+ * @return Factory\Api\Mastodon\ScheduledStatus
+ */
+ public static function mstdnScheduledStatus()
+ {
+ return self::$dice->create(Factory\Api\Mastodon\ScheduledStatus::class);
+ }
+
+ /**
+ * @return Factory\Api\Mastodon\Subscription
+ */
+ public static function mstdnSubscription()
+ {
+ return self::$dice->create(Factory\Api\Mastodon\Subscription::class);
}
/**
- * @return \Friendica\Factory\Notification\NotificationFactory
+ * @return Factory\Api\Mastodon\ListEntity
*/
- public static function factNotification()
+ public static function mstdnList()
{
- return self::$dice->create(Factory\Notification\NotificationFactory::class);
+ return self::$dice->create(Factory\Api\Mastodon\ListEntity::class);
}
/**
- * @return \Friendica\Factory\Notification\IntroductionFactory
+ * @return Factory\Api\Mastodon\Notification
*/
- public static function factNotIntro()
+ public static function mstdnNotification()
{
- return self::$dice->create(Factory\Notification\IntroductionFactory::class);
+ return self::$dice->create(Factory\Api\Mastodon\Notification::class);
+ }
+
+ /**
+ * @return Factory\Api\Twitter\User
+ */
+ public static function twitterUser()
+ {
+ return self::$dice->create(Factory\Api\Twitter\User::class);
+ }
+
+ /**
+ * @return Factory\Notification\Notification
+ */
+ public static function notification()
+ {
+ return self::$dice->create(Factory\Notification\Notification::class);
+ }
+
+ /**
+ * @return Factory\Notification\Introduction
+ */
+ public static function notificationIntro()
+ {
+ return self::$dice->create(Factory\Notification\Introduction::class);
}
//
// "Model" namespace instances
//
+ /**
+ * @return Model\Process
+ */
+ public static function modelProcess()
+ {
+ return self::$dice->create(Model\Process::class);
+ }
/**
* @return Model\User\Cookie
}
/**
- * @return Repository\Notification
+ * @return Model\Storage\IWritableStorage
*/
- public static function notification()
+ public static function storage()
{
- return self::$dice->create(Repository\Notification::class);
+ return self::$dice->create(Model\Storage\IWritableStorage::class);
}
/**
- * @return Model\Storage\IStorage
+ * @return Model\Log\ParsedLogIterator
*/
- public static function storage()
+ public static function parsedLogIterator()
+ {
+ return self::$dice->create(Model\Log\ParsedLogIterator::class);
+ }
+
+ //
+ // "Network" namespace
+ //
+
+ /**
+ * @return Network\IHTTPClient
+ */
+ public static function httpClient()
{
- return self::$dice->create(Model\Storage\IStorage::class);
+ return self::$dice->create(Network\IHTTPClient::class);
}
//
// "Repository" namespace
//
+ /**
+ * @return Repository\FSuggest;
+ */
+ public static function fsuggest()
+ {
+ return self::$dice->create(Repository\FSuggest::class);
+ }
+
/**
* @return Repository\Introduction
*/
return self::$dice->create(Repository\ProfileField::class);
}
+ /**
+ * @return Repository\Notification
+ */
+ public static function notify()
+ {
+ return self::$dice->create(Repository\Notification::class);
+ }
+
//
// "Protocol" namespace instances
//
return self::$dice->create(Protocol\Activity::class);
}
+ //
+ // "Security" namespace instances
+ //
+
+ /**
+ * @return \Friendica\Security\Authentication
+ */
+ public static function auth()
+ {
+ return self::$dice->create(Security\Authentication::class);
+ }
+
//
// "Util" namespace instances
//
return self::$dice->create(Util\ACLFormatter::class);
}
+ /**
+ * @return string
+ */
+ public static function basePath()
+ {
+ return self::$dice->create('$basepath');
+ }
+
/**
* @return Util\DateTimeFormat
*/
{
return self::$dice->create(Util\Profiler::class);
}
+
+ /**
+ * @return Util\Emailer
+ */
+ public static function emailer()
+ {
+ return self::$dice->create(Util\Emailer::class);
+ }
}