integration_registry = $integration_registry; $this->integration_registry->register_integration( $pos_integration ); } /** * Allows extensions to register integrations. * * @since 10.5.0 * @param IntegrationInterface $integration The integration to register. * @return void */ public function register_integration( IntegrationInterface $integration ): void { $this->integration_registry->register_integration( $integration ); } /** * Initialize plugin components * * @since 10.5.0 */ public function register(): void { // Let all integrations register their hooks. foreach ( $this->integration_registry->get_integrations() as $integration ) { $integration->register_hooks(); } } /** * Plugin activation * * @since 10.5.0 */ public function activate(): void { foreach ( $this->integration_registry->get_integrations() as $integration ) { $integration->activate(); } } /** * Plugin deactivation * * @since 10.5.0 */ public function deactivate(): void { foreach ( $this->integration_registry->get_integrations() as $integration ) { $integration->deactivate(); } } }