<?php declare( strict_types=1 ); namespace Automattic\WooCommerce\Internal\DependencyManagement\ServiceProviders; use Automattic\WooCommerce\Internal\Features\FeaturesController; use Automattic\WooCommerce\Internal\Integrations\WPConsentAPI; use Automattic\WooCommerce\Internal\Orders\OrderAttributionController; use Automattic\WooCommerce\Internal\Orders\OrderAttributionBlocksController; use Automattic\WooCommerce\Proxies\LegacyProxy; use Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema; use Automattic\WooCommerce\StoreApi\StoreApi; /** * Class OrderAttributionServiceProvider * * @since 8.5.0 */ class OrderAttributionServiceProvider extends AbstractInterfaceServiceProvider { /** * The classes/interfaces that are serviced by this service provider. * * @var array */ protected $provides = array( OrderAttributionController::class, OrderAttributionBlocksController::class, WPConsentAPI::class, ); /** * Register the classes. */ public function register() { $this->share_with_implements_tags( WPConsentAPI::class ); $this->share_with_implements_tags( OrderAttributionController::class ) ->addArguments( array( LegacyProxy::class, FeaturesController::class, WPConsentAPI::class, ) ); $this->share_with_implements_tags( OrderAttributionBlocksController::class ) ->addArguments( array( StoreApi::container()->get( ExtendSchema::class ), FeaturesController::class, OrderAttributionController::class, ) ); } }