* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Behat\MinkExtension\ServiceContainer\Driver; use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition; use Symfony\Component\DependencyInjection\Definition; /** * @author Christophe Coevoet */ interface DriverFactory { /** * Gets the name of the driver being configured. * * This will be the key of the configuration for the driver. * * @return string */ public function getDriverName(); /** * Defines whether a session using this driver is eligible as default javascript session * * @return boolean */ public function supportsJavascript(); /** * Setups configuration for the driver factory. * * @param ArrayNodeDefinition $builder */ public function configure(ArrayNodeDefinition $builder); /** * Builds the service definition for the driver. * * @param array $config * * @return Definition */ public function buildDriver(array $config); }