Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Core/Config/ConfigInstallerInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 129ea1e6d783 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Core/Config/ConfigInstallerInterface.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,108 @@ +<?php + +namespace Drupal\Core\Config; + +/** + * Interface for classes that install config. + */ +interface ConfigInstallerInterface { + + /** + * Installs the default configuration of a given extension. + * + * When an extension is installed, it searches all the default configuration + * directories for all other extensions to locate any configuration with its + * name prefix. For example, the Node module provides the frontpage view as a + * default configuration file: + * core/modules/node/config/install/views.view.frontpage.yml + * When the Views module is installed after the Node module is already + * enabled, the frontpage view will be installed. + * + * Additionally, the default configuration directory for the extension being + * installed is searched to discover if it contains default configuration + * that is owned by other enabled extensions. So, the frontpage view will also + * be installed when the Node module is installed after Views. + * + * @param string $type + * The extension type; e.g., 'module' or 'theme'. + * @param string $name + * The name of the module or theme to install default configuration for. + * + * @see \Drupal\Core\Config\ExtensionInstallStorage + */ + public function installDefaultConfig($type, $name); + + /** + * Installs optional configuration. + * + * Optional configuration is only installed if: + * - the configuration does not exist already. + * - it's a configuration entity. + * - its dependencies can be met. + * + * @param \Drupal\Core\Config\StorageInterface $storage + * (optional) The configuration storage to search for optional + * configuration. If not provided, all enabled extension's optional + * configuration directories will be searched. + * @param array $dependency + * (optional) If set, ensures that the configuration being installed has + * this dependency. The format is dependency type as the key ('module', + * 'theme', or 'config') and the dependency name as the value + * ('book', 'bartik', 'views.view.frontpage'). + */ + public function installOptionalConfig(StorageInterface $storage = NULL, $dependency = []); + + /** + * Installs all default configuration in the specified collection. + * + * The function is useful if the site needs to respond to an event that has + * just created another collection and we need to check all the installed + * extensions for any matching configuration. For example, if a language has + * just been created. + * + * @param string $collection + * The configuration collection. + */ + public function installCollectionDefaultConfig($collection); + + /** + * Sets the configuration storage that provides the default configuration. + * + * @param \Drupal\Core\Config\StorageInterface $storage + * + * @return $this + */ + public function setSourceStorage(StorageInterface $storage); + + /** + * Sets the status of the isSyncing flag. + * + * @param bool $status + * The status of the sync flag. + * + * @return $this + */ + public function setSyncing($status); + + /** + * Gets the syncing state. + * + * @return bool + * Returns TRUE is syncing flag set. + */ + public function isSyncing(); + + /** + * Checks the configuration that will be installed for an extension. + * + * @param string $type + * Type of extension to install. + * @param string $name + * Name of extension to install. + * + * @throws \Drupal\Core\Config\UnmetDependenciesException + * @throws \Drupal\Core\Config\PreExistingConfigException + */ + public function checkConfigurationToInstall($type, $name); + +}