Merge pull request #25560 from nextcloud/enhancement/pure-psr-event
Make our event base class independent of Symfony and follow PSR
This commit is contained in:
commit
039ecbdcf9
2
3rdparty
2
3rdparty
|
@ -1 +1 @@
|
|||
Subproject commit 90a8336c3b51a3be5869569ef8e84949a1e67608
|
||||
Subproject commit 4466d782fafe2b53f3839156d10be0d3eacb47d6
|
|
@ -26,7 +26,7 @@ declare(strict_types=1);
|
|||
|
||||
namespace OCP\EventDispatcher;
|
||||
|
||||
use Symfony\Contracts\EventDispatcher\Event as SymfonyEvent;
|
||||
use Psr\EventDispatcher\StoppableEventInterface;
|
||||
|
||||
/**
|
||||
* Base event class for the event dispatcher service
|
||||
|
@ -34,9 +34,21 @@ use Symfony\Contracts\EventDispatcher\Event as SymfonyEvent;
|
|||
* Typically this class isn't instantiated directly but sub classed for specific
|
||||
* event types
|
||||
*
|
||||
* This class extended \Symfony\Contracts\EventDispatcher\Event until 21.0, since
|
||||
* 22.0.0 this class directly implements the PSR StoppableEventInterface and no
|
||||
* longer relies on Symfony. This transition does not come with any changes in API,
|
||||
* the class has the same methods and behavior before and after this change.
|
||||
*
|
||||
* @since 17.0.0
|
||||
*/
|
||||
class Event extends SymfonyEvent {
|
||||
class Event implements StoppableEventInterface {
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*
|
||||
* @since 22.0.0
|
||||
*/
|
||||
private $propagationStopped = false;
|
||||
|
||||
/**
|
||||
* Compatibility constructor
|
||||
|
@ -51,4 +63,25 @@ class Event extends SymfonyEvent {
|
|||
*/
|
||||
public function __construct() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Stops the propagation of the event to further event listeners
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 22.0.0
|
||||
*/
|
||||
public function stopPropagation(): void {
|
||||
$this->propagationStopped = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* @since 22.0.0
|
||||
* @see \Psr\EventDispatcher\StoppableEventInterface
|
||||
*/
|
||||
public function isPropagationStopped(): bool {
|
||||
return $this->propagationStopped;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue