Skip to content
Snippets Groups Projects
Unverified Commit b9e14d59 authored by Christoph Wurst's avatar Christoph Wurst
Browse files

Add Symfony inspired typed event dispatcher method

parent 15d39c48
No related branches found
No related tags found
No related merge requests found
......@@ -31,6 +31,7 @@ use OCP\IContainer;
use OCP\ILogger;
use OCP\IServerContainer;
use Symfony\Component\EventDispatcher\EventDispatcher as SymfonyDispatcher;
use function get_class;
class EventDispatcher implements IEventDispatcher {
......@@ -75,6 +76,10 @@ class EventDispatcher implements IEventDispatcher {
$this->dispatcher->dispatch($eventName, $event);
}
public function dispatchTyped(Event $event): void {
$this->dispatch(get_class($event), $event);
}
/**
* @return SymfonyDispatcher
*/
......
......@@ -58,4 +58,16 @@ interface IEventDispatcher {
*/
public function dispatch(string $eventName, Event $event): void;
/**
* Dispatch a typed event
*
* Only use this with subclasses of ``\OCP\EventDispatcher\Event``.
* The object's class will determine the event name.
*
* @param Event $event
*
* @since 18.0.0
*/
public function dispatchTyped(Event $event): void;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment