summaryrefslogtreecommitdiffstats
path: root/lib/public/EventDispatcher
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2020-10-15 16:23:26 +0200
committerChristoph Wurst <christoph@winzerhof-wurst.at>2020-10-15 16:23:26 +0200
commite646d7d5a9ba8c8cf5c09bc0b67b66d7b162e52b (patch)
tree933402c9ecb6d27f3011f1659cdd8a7d784b2058 /lib/public/EventDispatcher
parent87f8a09ac93d7742ca27e659aa2a31031747a87a (diff)
downloadnextcloud-server-e646d7d5a9ba8c8cf5c09bc0b67b66d7b162e52b.tar.gz
nextcloud-server-e646d7d5a9ba8c8cf5c09bc0b67b66d7b162e52b.zip
Add psalm types for the event dispatcher
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'lib/public/EventDispatcher')
-rw-r--r--lib/public/EventDispatcher/IEventDispatcher.php10
-rw-r--r--lib/public/EventDispatcher/IEventListener.php3
2 files changed, 13 insertions, 0 deletions
diff --git a/lib/public/EventDispatcher/IEventDispatcher.php b/lib/public/EventDispatcher/IEventDispatcher.php
index 997834ad7b5..471447e4b9f 100644
--- a/lib/public/EventDispatcher/IEventDispatcher.php
+++ b/lib/public/EventDispatcher/IEventDispatcher.php
@@ -35,7 +35,9 @@ namespace OCP\EventDispatcher;
interface IEventDispatcher {
/**
+ * @template T of \OCP\EventDispatcher\Event
* @param string $eventName preferably the fully-qualified class name of the Event sub class
+ * @psalm-param string|class-string<T> $eventName preferably the fully-qualified class name of the Event sub class
* @param callable $listener the object that is invoked when a matching event is dispatched
* @param int $priority
*
@@ -44,7 +46,9 @@ interface IEventDispatcher {
public function addListener(string $eventName, callable $listener, int $priority = 0): void;
/**
+ * @template T of \OCP\EventDispatcher\Event
* @param string $eventName preferably the fully-qualified class name of the Event sub class
+ * @psalm-param string|class-string<T> $eventName preferably the fully-qualified class name of the Event sub class
* @param callable $listener the object that is invoked when a matching event is dispatched
*
* @since 19.0.0
@@ -52,8 +56,11 @@ interface IEventDispatcher {
public function removeListener(string $eventName, callable $listener): void;
/**
+ * @template T of \OCP\EventDispatcher\Event
* @param string $eventName preferably the fully-qualified class name of the Event sub class to listen for
+ * @psalm-param string|class-string<T> $eventName preferably the fully-qualified class name of the Event sub class to listen for
* @param string $className fully qualified class name (or ::class notation) of a \OCP\EventDispatcher\IEventListener that can be built by the DI container
+ * @psalm-param class-string<\OCP\EventDispatcher\IEventListener<T>> $className fully qualified class name that can be built by the DI container
* @param int $priority
*
* @since 17.0.0
@@ -61,8 +68,11 @@ interface IEventDispatcher {
public function addServiceListener(string $eventName, string $className, int $priority = 0): void;
/**
+ * @template T of \OCP\EventDispatcher\Event
* @param string $eventName
+ * @psalm-param string|class-string<T> $eventName
* @param Event $event
+ * @psalm-param T $event
*
* @since 17.0.0
*/
diff --git a/lib/public/EventDispatcher/IEventListener.php b/lib/public/EventDispatcher/IEventListener.php
index 25906fa798e..fcf44133aff 100644
--- a/lib/public/EventDispatcher/IEventListener.php
+++ b/lib/public/EventDispatcher/IEventListener.php
@@ -28,11 +28,14 @@ namespace OCP\EventDispatcher;
/**
* @since 17.0.0
+ *
+ * @template T of Event
*/
interface IEventListener {
/**
* @param Event $event
+ * @psalm-param T $event
*
* @since 17.0.0
*/