12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <?php
- namespace Facebook\WebDriver;
- use Facebook\WebDriver\Support\Events\EventFiringWebDriver;
- class WebDriverDispatcher
- {
-
- protected $listeners = [];
-
- protected $driver;
-
- public function setDefaultDriver(EventFiringWebDriver $driver)
- {
- $this->driver = $driver;
- return $this;
- }
-
- public function getDefaultDriver()
- {
- return $this->driver;
- }
-
- public function register(WebDriverEventListener $listener)
- {
- $this->listeners[] = $listener;
- return $this;
- }
-
- public function unregister(WebDriverEventListener $listener)
- {
- $key = array_search($listener, $this->listeners, true);
- if ($key !== false) {
- unset($this->listeners[$key]);
- }
- return $this;
- }
-
- public function dispatch($method, $arguments)
- {
- foreach ($this->listeners as $listener) {
- call_user_func_array([$listener, $method], $arguments);
- }
- return $this;
- }
- }
|